Android 应用初始化及窗体事件的分发
Android 应用初始化及窗体事件(按键)的分发---AlbertChen
Android java application运行环境初始化简介:
在kernle启动之后, 系统将通过App_main进程来初始化android Runtime JAVA 运行环境,zygote是android的第一个进程,所有android的应用都是通过zygote fork出来的子进程。与QT不一样的是系统调用fork启动新进程而不再通过execv将子进程完全替换,这样做的目的是每一个子进程都保留了JAVA VM所需的启动信息比如JNI 信息。
与Navtive 层一样, JAVA application 层也有一个system service ,service 中启动了很多的服务如ActivityManagerService,windowManagerService, powerManagerService等等,每启动一个新的应用或者Service, ActivityManangerService都将为该进程创建一个ApplicationThread客户端,当有其他应用需要创建新的Activity或者Bind Service时,system service 就会通过binder
本文介绍了Android应用初始化过程及窗体事件分发机制。详细解析了从kernel启动后,如何通过App_main进程初始化androidRuntimeJAVA环境,zygote作为第一个进程,如何通过fork产生子进程并保留JAVA VM所需信息。此外,还探讨了JAVA application层system service及其提供的多种服务。


636

被折叠的 条评论
为什么被折叠?



