美文网首页
Android Framework学习之Android系统启动流

Android Framework学习之Android系统启动流

作者: 一只二凡子 | 来源:发表于2020-11-08 15:58 被阅读0次

    1.Android有哪些主要的系统进程?

    2.这些系统进程是怎么启动的?

    3.进程启动之后主要做了些什么事?

    Zygote是怎么启动的?

    init进程fork出zygote进程->启动虚拟机,注册JNI函数->预加载系统资源->启动SystemServer->进入Socket Loop

    SystemServer是怎么启动的?

    SystemServer进程负责启动系统的关键服务,如AMS,PMS等。启动binder机制和binder线程

    startSystemServer()-> handleSystemServerProcess()-> zygoteInit()->{commonInit() / nativeZygoteInit() / applicationInit() }

    SystemService类解析:SystemServer().run()

    1.为主线程创建一个looper 

    2.加载共享库(系统服务的native层代码)

    3.创建系统上下文

    4.分批启动系统服务

    5.启动loop循环

    怎么发布系统服务 -> publishBinderService(name,service) -> ServiceManager.addService(name,service,allowlsolated)  将系统服务添加到ServiceManager里面

    分批启动:AMS,PMS,PKMS等

    分阶段启动:阶段一,阶段二,阶段三,等

    相关文章

      网友评论

          本文标题:Android Framework学习之Android系统启动流

          本文链接:https://www.haomeiwen.com/subject/garhbktx.html