Android 9.0 Zygote进程启动源码分析指南一

* 站在巨人的肩膀上可以看的更远 *

直接参考博文:

Android 9 (P) Zygote进程启动源码分析指南一

系统启动2——启动zygote

系统启动3——Zygote的使命

 ===== 补充个人的一些儿笔记 =====

二. Zygote 进程从何而来

ro.zygote属性值是哪里设置的,如下图片中显示了几处设置该值的位置,具体要根据你编译时采用的mk file来确定

四. Zygote进程main函数分析

main函数的参数解析:http://androidxref.com/9.0.0_r3/xref/frameworks/base/cmds/app_process/app_main.cpp#210

    // After the parent dir, we expect one or more the following internal
    // arguments :
    //
    // --zygote : Start in zygote mode 初始化zygote进程模式
    // --start-system-server : Start the system server. 启动systemserver
    // --application : Start in application (stand alone, non zygote) mode. Zygote孵化应用程序模式
    // --nice-name : The nice name for this process. 
    //
    // For non zygote starts, these arguments will be followed by
    // the main class name. All remaining arguments are passed to
    // the main method of this class.  对于非zygote启动模式,后面会跟着一个main class 名字,之后的所有参数都会传递给这个class的main方法
    //
    // For zygote starts, all remaining arguments are passed to the zygote.
    // main function. 对于zygote启动模式,所有剩余的参数都传递给zygote
心有猛虎,细嗅蔷薇,生活就该无惧无悔..... PS:文章系作者工作学习总结,受作者知识水平的限制,文章难免有错误之处,仅供参考,转载请注明出处:http://www.cnblogs.com/roger-yu/
原文地址:https://www.cnblogs.com/roger-yu/p/15030815.html