上一篇最后分析到:因为我们现在做的假设是应用的冷启动,所以系统中是还没有对应的进程的,需要通过startSpecificActivityLocked方法来创建对应的进程。这一篇我们从这个方法开始 [crayon-62bcdbff83aab688614655/] 上面的过程很简单,在启动Activity所在进程前会再次检查进程是否已经启动,只有确认进程没有启动的情况下才会调用ActivityManagerService的startProcessLocked方法来启动进程。 [crayon-62…
上一篇最后分析到:因为我们现在做的假设是应用的冷启动,所以系统中是还没有对应的进程的,需要通过startSpecificActivityLocked方法来创建对应的进程。这一篇我们从这个方法开始 [crayon-62bcdbff83aab688614655/] 上面的过程很简单,在启动Activity所在进程前会再次检查进程是否已经启动,只有确认进程没有启动的情况下才会调用ActivityManagerService的startProcessLocked方法来启动进程。 [crayon-62…
上一篇讲到最后会调用到startActivity,接着分析前想先说一下,其实这篇主要的目的还是想先了解点击应用到调用应用第一个Activity.onCreate方法的整个过程,所以中间有一些方法会先放过不分析,下面继续接着上一篇进行分析,先把上一次调用的代码贴出来: [crayon-62bcdbff8d948244386721/] 这里参数非常多,而且startActivity还有重载函数,所以在阅读的时候还是要做好区分 [crayon-62bcdbff8d95e344448650/] 上面…