[CSDN]Android应用程序启动过程源代码分析
16lz
2021-01-23
http://blog.csdn.net/luoshengyang/article/details/6689748
简要整理:
简要整理:
context.startActivity()|Activity.java.startActivity()|Instrumentation.java.execStartActivity()|{当前应用程序主线程(context)—>binder,RemountBinder}|-------------通过binder,流程进入activityManagerService--------------------------|binderActivityManagerNative.java|ActivityManagerService.java.startActivityMayWait()|{通过packageManger获得目标Activity的package,classnane}|ActivityStack.java.startActivityLocked()|ActivityStack.java.startUncheckedLocked()|{检查是否需要返回(即是否startActivityForResult()?),检查task是否存在(LauncherMode==Single_instance?)}|{新建TaskRecord.java}|{检查目标activity是否已经Resumed}|否,将当前Resumed界面标记为pause|ActivyThreadNative.java.ApplicationThreadProxy.schedulePaused()|ActivityThread.java.schedulePauseActivity()|ActivityThread.java.performPauseActivity()-->Activity.onPause()|ActivityManagerNative.activityPause()(通知am暂停界面)|binderActivityManagerService.java.activityPause()|ActivityStack.java.activityPause()|ActivityStack.java.startSpecificActivitylocked()|{查询进程信息}|AcivityManagerService.startProcessLocked()-->fork()新进程|ActivityThread.java.main()|ActivityStack.realstartActivitylocked()|ApplicationThreadNative.java|ApplicationThread.java|ActivityThread.java.handleLaunchActivity()|ActivityThread.java.performLaunchActivity()|Activity.onCreate()
更多相关文章
- [Android Pro] Android的5个进程等级
- Android一款界面良好使用简单的弹出框
- android 布局随笔----用户登录界面
- [置顶] Android ViewPager+Fragment超高仿微信主界面(带底部图标
- android 使用系统照相程序照相并存储、显示在界面上
- 模拟器无法启动,卡在android字样的界面上
- 2011.07.12(2)——— android Messenger 跨进程通信