Android启动

2017-11-30  本文已影响0人  way180

Linux 三个特殊进程:

PID 0 idle进程

 特点:1、系统自建的首个进程

            2、创建运行内核空间

            3、系统所在进程

PID 1 init进程

 特点:1、通过idle的kernel_thread创建

            2、初始化内核空间后,加载init程序,形成用户空间

            3、除idle外,其它进程都由init创建并运行

            4、启动其它系统进程后,init将变为守护进程监视它们

            5、Android的第一个进程

PID 2 kthreadd进程

Android 关键进程:

zygote进程

 特点:1、由init创建

            2、Java世界开创者

            3、源码涉及Native层

            4、进程创建和启动的内部是通过fork()实现

            5、创建流程:init进程通过fork() ==》  1.Zygote进程通过startSystemService()  ==》  SystemService进程 ==》 ActivityManagerService进程

                                                                           2.Zygote进程完成其它进程启动之后,调用runSelectLoopMpde()休眠

Activity 创建过程:

AcivityManagerService通过SystemService进程向发送消息唤醒Zygote进程 ==》  Zygote进程创建子进程    ==》 子进程调用android.app.ActivityThread的main()函数完成创建

上一篇 下一篇

猜你喜欢

热点阅读