摘要:
Zygote:1、Zygote 是系统启动之后创建的第二个进程2、Zygote 创建zygote Socket、虚拟机3、Zygote 在虚拟机中通过forkSystemServer, 创建Server进程, 并且在其中启动服务(AMS、PMS等)4、Zygote 在虚拟机中注册zygote套接字,... 阅读全文
摘要:
Linux进程间通信的方式:管道(Pipe)信号(Signal)消息队列(Message)共享内存(Share Memory)套接字(Socket)中断BinderBinder 介绍:Binder 通信机制是在OpenBinder的基础上实现的,采用CS通信方式。OpenBinder是一种进程间通信... 阅读全文
摘要:
使用eclipse 打开源码:http://blog.csdn.net/androidlover1991/article/details/17011991使用android studio 打开源码http://blog.csdn.net/aaa111/article/details/43227367... 阅读全文
摘要:
第一步:参考官网:创建一个dmg,大小80g,这个要尽量大一点,40g感觉不够用;http://source.android.com/source/initializing.html第二步:下载android源码5.1.1。已经验证可编译成功,mac上http://pan.baidu.com/s/1... 阅读全文
摘要:
https://developer.apple.com/downloads/切换路径xcode 路径。然并卵,不好用http://cms.35g.tw/coding/xcode-select-%E5%88%87%E6%8F%9Bxcode%E9%A0%90%E8%A8%AD%E8%B7%AF%E5%... 阅读全文
摘要:
下载地址https://support.apple.com/kb/dl1572?locale=zh_CNorcale 支持mac的最低版本是1.7 阅读全文
摘要:
int x = 1; while(x<100){ DecimalFormat df = new DecimalFormat("000"); String xs = df.format(x); Sy... 阅读全文
摘要:
file = open('face.txt','r')filew = open('face1.txt','w') try: for line in file: print(line) if line.strip() !='': line... 阅读全文
摘要:
已经验证,可以编译成功。过程中会碰到一些编译错误,安装好依赖环境,可以解决。1、splite压缩包的合并,解压缩,md5验证http://pan.baidu.com/s/1bnG1NtXkitkat 安装包的下载参考 http://bbs.eoe.cn/thread-543546-1-1.html2... 阅读全文
摘要:
下载oraclejavasudo add-apt-repository ppa:webupd8team/java -ysudo apt-get updatesudo apt-get install oracle-java8-installersudo apt-get install oracle-j... 阅读全文
摘要:
未经验证http://blog.csdn.net/gaojinshan/article/details/14228737百度云盘保存了大量android源码,没有经过验证,并不能保证能够正常编译,但是可以保证我自己没有修改过http://pan.baidu.com/s/1qWpCAhY 阅读全文
摘要:
1、java基础知识http://www.eoeandroid.com/thread-333511-1-1.html网易公开课-抽象编程:http://open.163.com/special/opencourse/abstractions.html2、android的基础知识http://www.... 阅读全文
摘要:
public class Annote { @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE,ElementType.METHOD,ElementType.FIELD,ElementType.CONSTRUCTOR... 阅读全文
摘要:
参考文章:http://www.ruanyifeng.com/blog/2011/12/inode.html 阅读全文
摘要:
1、史前阶段:BIOS1、上电自检(Power-On Self-Test):用来检测有什么设备,以及这些设备是否能正常工作2、初始化硬件设备。3、搜索一个操作系统来启动。根据BIOS的设置或者用户配置的顺序,从软盘、硬盘、光盘中读取第一个扇区(引导扇区),用来启动系统4、将找到的第一个有效设备的第一... 阅读全文
摘要:
如果ubuntu不是以wubi方式安装的,那么卸载ubuntu时要慎重,不是直接删除ubuntu所在分区这么简单的,否则你会发现你的windows系统也进不去了。那是因为如果你安装Ubuntu的时候将GRUB写入到MBR,也就是/dev/sda,(如果你每次一开机就出现GURB菜单,说明写入到MBR... 阅读全文
摘要:
进程间通信的基本机制:1、管道和FIFO(命名管道):最适合在进程之间实现生产者/消费者的交互。进程A向管道写入数据,进程B从管道读出数据。2、信号量:内核信号量的用户态版本。3、消息:允许进程在预定义的消息队列中读和写消息来交换消息(小块数据)。Linux提供两种不同的消息版本:System V ... 阅读全文
摘要:
Ext2的一般特征:1、创建Ext2文件系统时,系统管理员可以根据预期的文件平均长度来选择最佳块大小(从1024B~4096B)。来减少文件碎片2、创建Ext2文件系统时,系统管理员可以根据在给定大小的分区上预计存放的文件树来选择给该区分配多少个索引节点。更加有效的利用磁盘空间3、文件系统将磁盘分组... 阅读全文
摘要:
Linux 系统在为用户态进程和内核分配动态内存的时候,所作的检查是马马虎虎的对内核使用的许多磁盘高速缓存和内存高速缓存大小也同样不作限制。页框回收算法(PFRA):1、在所有内存使用完之前,就必须执行页框回收算法2、选择目标页,它获取页框,并且使之空闲3、候选回收页:任何属于磁盘和内存高速缓存的页... 阅读全文
摘要:
文件的访问模式:1、规范模式:2、同步模式:3、内存映射模式:4、直接I\O模式5、异步模式:内存映射模式:1、共享型:在线性区页上的任何写操作都会修改磁盘上的文件;而且这种修改对映射了同一文件的所有进程都是可见的。2、私有型:进程创建只读文件的时候用到,效率更高。对它对写操作不会改变磁盘文件,也对... 阅读全文
摘要:
页高速缓存:1、磁盘高速缓存的一种 2、一种对完整的数据页进行操作的磁盘高速缓存。3、将一页数据写到块设备的时候,内核首先检查对应的页是否已经在高速缓存中,不在就添加并填充数据。4、I\O数据的传送并不是马上开始,而是要延迟几秒,从而让进程有机会对要写入的数据进行修改。高速缓存中可能的内容:1、含有... 阅读全文
摘要:
扇区:1、硬盘控制器将磁盘看成一大组扇区2、扇区就是一组相邻字节3、扇区按照惯例大小设置位512字节4、存放在块设备中的数据是通过它们在磁盘上的位置来标识,即首个扇区的下标和扇区的数目。5、扇区是硬件设备传送数据到基本单位。块:1、块是VFS和文件系统传送数据到基本单位。它对应磁盘上一个或者多个相邻... 阅读全文
摘要:
系统总线:1、链接CPU、RAM、I/O设备之间的数据流动。例如:PCI、ISA、EISA、MCA、SCSI、USB2、任何I\O设备有且仅能链接一条总线。I\O端口:1、每个连接到I\O总线上的设备都有自己的I\O地址集,通常称为I\O端口。2、一共提供了65536个8位的端口3、可以讲2个8位的... 阅读全文
摘要:
Linux 成功的关键之一是它具有和其他操作系统和谐共存的能力5个标准文件类型:1、普通文件2、目录文件3、符号链接文件4、设备文件5、管道文件虚拟文件系统(Virtual FileSystem):内核软件层,用来处理与Unix标准文件系统相关的所有系统调用。健壮性表现在能为各种文件系统提供一个通用... 阅读全文
摘要:
信号:1、最初被引入作为用户态进程间通信2、内核也使用信号通知进程系统所发生的事件3、信号很短,发送给进程的唯一信息通常是一个数。4、名称通常以SIG为前缀5、信号时可消费资源,每个信号只能被传递一次使用信号的目标:1、让进程知道已经发送了一个特定的事件2、强迫进程执行它自己代码中的信号处理程序。信... 阅读全文
摘要:
系统调用:用户态进程向内核发出的,实现用户态进程调用硬件设备的函数或者中断;优点:使编程更容易,将用户从学习硬件设备的低级编程特性中解放;提高系统到安全性,内核在满足请求之前可以做正确性检查;提高可移植性;系统调用与API调用的区别:1、API调用是一个函数定义;系统调用是通过软中断向内核发出的明确... 阅读全文
摘要:
给内核分配内存和给用户态进程分配内存是有区别的:1、内核的优先级最高,如果某个内核函数请求动态内存,不会被延时2、内核信任自己,不必保护措施3、用户态进程对动态内存的请求被认为不是紧迫的,总是被尽量推迟分配4、用户进程总是不可信任的进程的地址空间:1、由允许进程使用的全部线性地址组成。2、每个进程的... 阅读全文
摘要:
内核如果给自己分配动态内存动态内存:RAM的某些部分被永久打分配给内核,用来存放内核代码以及静态内核数据结构;剩余的部分被称为动态内存连续物理内存区管理:页框管理:1、页大小的选择,通常情况下主存和磁盘之间传输小数据块更高效,所以Linux选择4kb点页框2、页描述符:page结构,32字节;存放在... 阅读全文
摘要:
1、google 官方提供的下拉刷新控件 阅读全文
摘要:
1、什么时候进行进程切换调度策略目标:1、进程响应尽量快;2、后台作业吞吐量尽量高;3、尽可能避免进程饥饿;4、低优先级和高优先级进程需要尽量调和。调度策略:决定什么时候选择什么进程运行的规则。基于分时技术。调度程序跟踪进程,动态调整优先级进程分三类:1、交互进程;2、批处理进程;3、实时进程;抢占... 阅读全文
摘要:
定时测量:由基于固定频率振荡器和计数器的几个硬件电路完成的。记时体系概貌:内核中与时间相关的任务:硬件设备:实时时钟(RTC):1、Real Time Clock ,独立于CPU和所有芯片,每个PC都有。 2、它有专门的电池,不受PC电源断电影响。 3、能在IRQ8上... 阅读全文
摘要:
内核基本的同步机制:抢占内核的主要特点:一个在内核态运行的进程,可能在执行内核函数期间被另外一个进程取代。内核抢占:Linux 2.6允许用户在编译内核的时候配置十分启用进程临界区:每个进程中访问临界资源(一次仅允许一个进程使用的共享资源)的那段代码称为临界区。优化屏障:保证编译程序不会混淆放在原语... 阅读全文
摘要:
Linux内核代码查看http://androidxref.com/中断:被定义位一个事件,它能改变处理器执行指令的顺序。它对应硬件(CPU、其他硬件设备)电路产生的电信号。同步中断:指令执行时CPU控制单元产生;称为同步,是因为只有在一条指令终止执行后CPU才回发出中断。也被称为异常异步中断:其他... 阅读全文
摘要:
1、进程的静态特性进程:程序执行时的一个实例进程描述符(task_struct): 进程的基本信息(thread_info)、指向内存区描述符的指针(mm_struct)、进程相关的tty(tty_struct)、当前目录(fs_struct)、指向 文件描述符的指针(fi... 阅读全文
摘要:
1、逻辑地址怎么转换为线性地址的:逻辑地址 = 段选择符(16bit)+偏移量(32bit)段选择符又三部分组成:index(索引序号)、T1(表指示器)、RPL(request privilege level 请求者特权级)索引序号:指向GDT(global descriptor table 全局... 阅读全文
摘要:
源码分析:http://blog.csdn.net/luoshengyang/article/details/8923485中文博客:英文博客:https://github.com/android-cn/android-dev-com源码下载:http://blog.csdn.net/ilittle... 阅读全文
摘要:
android:splitMotionEvents="false"ListView的这个属性可以限制它不能同时点击两个Item 阅读全文
摘要:
dumpsys命令可以显示手机中所有应用程序的信息,并且也会给出现在手机的状态。直接执行adb shell dumpsys KEY会显示以下所有信息。KEY的可选名称SurfaceFlinger, accessibility, account, activity, alarm, appwidget,... 阅读全文
摘要:
方法一:通过手机上Running services的Activity查看,可以通过Setting->Applications->Running services进。关于Running services的详细内容请参考《Android中使用"running services"查看service进程内存... 阅读全文
摘要:
1、修改切换item的时间public class FixedSpeedScroller extends Scroller { private int mDuration = 300; public FixedSpeedScroller(Context... 阅读全文