安卓应用程序的启动流程(源码分析)
来源:互联网 发布:js防水浆料检测设备 编辑:程序博客网 时间:2024/05/21 00:18
> #### ActivityManagerService下的systemReady方法如下:
public void systemReady(final Runnable goingCallback) {
...
// 调用了ActivityStack中的resumeTopActivityLocked去启动Activity
mMainStack.resumeTopActivityLocked(null);
}
> #### ActivityStack中的resumeTopActivityLocked方法如下:
final boolean resumeTopActivityLocked(ActivityRecord prev) {
// 找到第一个当前没有关闭的Activity, 系统刚刚系统没有任何Activity执行, 所以next为null
ActivityRecord next = topRunningActivityLocked(null);
// Remember how we'll process this pause/resume situation, and ensure
// that the state is reset however we wind up proceeding.
final boolean userLeaving = mUserLeaving;
mUserLeaving = false;
if (next == null) {
// There are no more activities! Let's just start up the
// Launcher...
if (mMainStack) {
// 开启Launcher应用的第一个Activity界面.
return mService.startHomeActivityLocked();
}
}
}
> #### home界面显示, 这时Android系统启动完毕. 进入到待机画面.
0 0
- 安卓应用程序的启动流程(源码分析)
- 安卓系统的启动流程(源码分析)
- Zookeeper源码分析(1)- Zookeeper的启动流程
- (二)源码分析之一:mysqld的启动流程
- 源码分析Activity启动的流程
- Activity的启动流程源码分析
- 安卓启动流程
- 安卓启动流程
- 安卓启动流程
- 安卓启动流程
- 源码篇——安卓启动流程
- android应用程序的启动流程(二)
- MogileFS启动流程,源码分析
- ngx源码分析--启动流程
- Activity 启动流程,源码分析
- ServerBootStrap启动流程源码分析
- ToLua源码分析:启动流程
- Activity启动流程(源码分析)
- Android:Intent Filter 过滤器与隐式Intent
- Java.util中的排序
- Bom编程和Dom编程
- Linux下which、whereis、locate、find命令的区别
- BP算法之tricks
- 安卓应用程序的启动流程(源码分析)
- 说说Linux系统调用那些事儿
- delphi xe 10 学习起步
- js入门篇之ajax
- 理性摘录——来自那些说好的人
- 华为OJ——进制转换
- 华为OJ——质数因子
- asp.net 学习记录2
- 提问的智慧(转)