[CSDN]Android应用程序启动过程源代码分析
16lz
2022-03-13
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(安卓)中的看门狗—Watchdog
- USB UMS MTP设置过程 (一)
- android用户界面之按钮(Button)教程实例汇
- Android待机流程分析
- Android(安卓)Studio ADB响应失败解决方法
- android 布局随笔----用户登录界面
- Android(安卓)Binder 机制详解