android应用程序框架层创建的应用程序进程学习
来源:互联网 发布:淘宝开店注意事项 编辑:程序博客网 时间:2024/05/14 07:25
参考http://blog.csdn.net/luoshengyang/article/details/6766010
Android应用程序框架层创建的应用程序进程有两个特点:
进程的入口是ActivityThread.main
进程天然支持Binder进程通信机制
1.ActivityManagerService.startProcessLocked
2.Process.start:为应用程序创建新的进程,他传入的第一个参数是android.app.ActivityThread
3.Process.startViewZygote:将创建进程的参数放到argsForZygote参数列表中,runtime-init:
表示要为新创建的进程初始化运行库
4.Process.zygoteSendAndGetPid:sZygoteWriter是一个socket写入流,由openZygoteSocketIfNeeded打开
5.ZygoteInit.runSelectLoopMode
6.ZygoteConnection.runOnce:Zygote.forkAndSpecialize创建进程
7.ZygoteConntection.handleChildProc
8:RuntimeInit.zygotInit:这里有两个关键的函数调用:
zygoteInitNative:执行binder驱动程序初始化的相关工作
invokeStaticMain:执行进程的入口工作,执行android.app.ActivityThread的main函数
9.RuntimeInit.invokeStaticMain:这个函数里并没有直接调用静态函数main,而是抛出了
ZygoteInit.MethodAndArgsCaller异常,然后让ZygoteInit.main函数捕获这个异常,在调用
main函数。这样使用了清理堆栈
10.ActivityThread.main:这样就可以在进程中启动Activity或service
上述过程不仅指定了进程的入口函数ActivityThread.main,而且还为进程间的Binder通信机制
提供了基础设施。
- android应用程序框架层创建的应用程序进程学习
- android应用程序窗口框架学习(3)-应用程序的进程的启动过程
- Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析
- Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析
- Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析
- Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析
- Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析
- Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析
- Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析
- Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析
- Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析
- Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析
- Android系统进程间通信Binder机制在应用程序框架层的java接口源代码分析
- android应用程序的进程
- Android的应用程序框架
- [Binder.5] Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析
- Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码文件分析
- 嵌入式linux应用程序学习-守护进程的创建
- 黑马程序员_日记41_HashSetDemo
- mui 固定头部,加载子页
- 网游服务器端设计思考:游戏的错误提示
- python2.7 error: Unable to find vcvarsall.bat
- tomcat内存修改
- android应用程序框架层创建的应用程序进程学习
- MRI数据处理:如何打开.nii文件及其他
- rutrutrutrutruity
- 类似愤怒小鸟的飞行弹道
- C++读入obj格式模型文件
- spring依赖注入
- tomcat自动启动
- LeetCode # Add Two Numbers #
- HTML5开发手机项目-个人总结