Activity启动过程分析

2019-01-23  本文已影响0人  森林苍穹

这里的Activity分为根Activity和普通Activity.这两种启动

根Activity启动的整体流程如下:

根Actiivty启动整体流程

Launcher到AMS的调用过程如下:

Launcher-AMS

因为AMS到zygote进程,以及zygote进程启动应用程序,这些在上篇文章有介绍,这里不再重复了 应用程序进程启动介绍

接下来就是AMS与ApplicationThread之间的调用

AMS-ApplicationThread

AMS与ApplicatinThread之间是通过binder通讯的.

最后就是ApplicationThread与ActivityThread之间的调用

image

普通Activity的启动

就只有两层调用

image
    private class ApplicationThread extends IApplicationThread.Stub {
        ....
        ....
    }

ApplicationThread是ActivityThread中的内部类,运行在binder线程池中
ApplicationThread是AMS与应用程序进程之间的通许桥梁

参考:Android进阶解密

上一篇 下一篇

猜你喜欢

热点阅读