Android应用程序进程启动过程

2020-03-31  本文已影响0人  MadnessXiong

1. 应用程序进程简介:

要想启动一个应用程序,首先要保证这个应用程序所需要的应用程序进程已经启动。AMS在启动应用程序时会检查这个应用程序需要的应用程序进程是否存在,不存在就会请求Zygote进程启动所需要的应用程序进程。Zygote的Java层会创建一个Server端的Socket,这个Socket用来等待AMS请求Zygote来创建新的应用程序进程。Zygote进程通过fork自身创建应用程序进程,这样应用程序进程就会获得zygote进程在启动时创建的虚拟机实例,同时还创建了Binder线程池和消息循环。这样运行在应用程序进程中的应用程序就可以方便地使用Binder进程进程间通讯以及处理消息了。

2. 应用程序启动过程

从简介里可以看出,应用程序启动主要包括以下几个过程:

第一步:AMS启动向Zygote发起启动应用程序进程请求

第二步:Zygote进程fork自创建一个应用程序进程,同时创建BInder线程池,让应用程序具备进程间通讯能力

第三步:启动消息循环,让应用程序进程中的应用程序可以使用消息处理机制

那么从根据以上几点,细化的看一下每个步骤的细节

上一篇下一篇

猜你喜欢

热点阅读