activity启动机制
来源:互联网 发布:网络测试仪1和8不会闪 编辑:程序博客网 时间:2024/05/15 08:58
简单启动过程:
Step 1. 无论是通过Launcher来启动Activity,还是通过Activity内部调用startActivity接口来启动新的Activity,都通过Binder进程间通信进入到ActivityManagerService进程中,并且调用ActivityManagerService.startActivity接口;
Step 2. ActivityManagerService调用ActivityStack.startActivityMayWait来做准备要启动的Activity的相关信息;
Step 3. ActivityStack通知ApplicationThread要进行Activity启动调度了,这里的ApplicationThread代表的是调用ActivityManagerService.startActivity接口的进程,对于通过点击应用程序图标的情景来说,这个进程就是Launcher了,而对于通过在Activity内部调用startActivity的情景来说,这个进程就是这个Activity所在的进程了;
Step 4. ApplicationThread不执行真正的启动操作,它通过调用ActivityManagerService.activityPaused接口进入到ActivityManagerService进程中,看看是否需要创建新的进程来启动Activity;
Step 5.对于通过点击应用程序图标来启动Activity的情景来说,ActivityManagerService在这一步中,会调用startProcessLocked来创建一个新的进程,而对于通过在Activity内部调用startActivity来启动新的Activity来说,这一步是不需要执行的,因为新的Activity就在原来的Activity所在的进程中进行启动;
Step 6. ActivityManagerServic调用ApplicationThread.scheduleLaunchActivity接口,通知相应的进程执行启动Activity的操作;
Step 7. ApplicationThread把这个启动Activity的操作转发给ActivityThread,ActivityThread通过ClassLoader导入相应的Activity类,然后把它启动起来。
- activity启动机制
- Android Activity启动机制流程和四种启动模式
- Android 进程间通信 Intent机制 隐式启动Activity
- APP启动时Activity的进程间通讯Binder机制
- ams启动activity过程,Binder通信,IPC机制,service内部流程,事件在activity流转分发
- 启动activity
- 启动Activity
- 启动Activity
- 启动Activity
- Android Activity---启动Activity
- Android Activity---启动Activity
- Android Activity的启动机制流程和四种启动模式
- Android系统篇之----解读AMS远端服务调用机制以及Activity的启动流程
- android:activity:启动一个activity
- 通过Activity启动其他Activity
- Android 匿名启动activity 启动系统activity
- Activity和Intent机制
- Activity和Intent机制
- 第一个spring小demo
- 正则表达式
- 配置别名
- 搭建Git服务器
- Hduoj1272【并查集+路径压缩】
- activity启动机制
- 期末总结
- NxOgre
- php开发之文件系统
- 托福写作范文:实地考察有利于孩子教育
- 尝试写第一次博客
- VS2008编译NxOgre全攻略
- 常用排序算法总结
- IE浏览器下AJAX GET请求自动缓存带来的问题