设为首页 加入收藏

TOP

Android开机流程
2014-11-24 07:54:10 来源: 作者: 【 】 浏览:0
Tags:Android 开机 流程

Zygote进程


在init.rc中有


service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server


从zygote的main()开始,见/frameworks/base/cmds/app_process/app_main.cpp


int main(int argc, const char * const argv[])
{
......
if(0 == strcmp("--zygote", arg)){
......
runtime.start("com.android.internel.os.ZygoteInit",
startSystemServer);
......
}


接下来运行/frameworks/base/core/jni/AndroidRuntime.cpp的start()
void AndroidRuntime::start(const char * className, const bool startSystemServer)
{
......
classNameStr = env->NewStringUTF(className);
......
startMeth = env->GetStaticMethodID(startClass, "main",
"([Ljava/lang/String;)V");
......
}
因此运行/frameworks/base/java/com/android/internal/os/ZygoteInit.java的main().
public static void main(String argv[]){
......
registerZygoteSocket();
preloadClasses();
if(argc[1].equals("true")){
startSystemServer();
}
......


}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇BootChart在Android中使用 下一篇Android消息处理系统

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·在 Redis 中如何查看 (2025-12-26 03:19:03)
·Redis在实际应用中, (2025-12-26 03:19:01)
·Redis配置中`require (2025-12-26 03:18:58)
·Asus Armoury Crate (2025-12-26 02:52:33)
·WindowsFX (LinuxFX) (2025-12-26 02:52:30)