美文网首页
Android 开机启动

Android 开机启动

作者: 周蛋蛋 | 来源:发表于2023-04-23 12:02 被阅读0次

    1.当电源键按下系统加载引导程序BootLoader到RAM中,开始执行
    2.Linux内核启动
    3.当内核启动时,首先进行系统设置init.rc文件并启动第一个进程:init
    4.init进程启动启动zygote进程启动
    5.zygote虚拟机启动一个子进程system_server,同时定义了一个Socket用来处理AMS启动应用的请求,fork出了SystemServer进程,SystemServer和Zygote进程是Android框架中两个重要的进程,系统里重要的进程都在SystemServer里开启,如AMS(ActivityManagerService 四大组件)、WMS(WindowManagerService 简称 WMS,一般负责界面display)、PMS(PackageManagerService 应用的启动卸载)等。

    6.启动桌面
    SystemServer启动后会初始化ActivityManagerService,同时加载本地系统服务库,调用createSystemContext()创建系统上下文,创建ActivityThread及各种服务

    WMS的职责:
    WMS 是窗口的管理者,它负责窗口的启动、添加和删除。另外窗口的大小和层级也是由 WMS 进行管理的。
    子系统WindowAnimator 来负责动画

    通过对窗口的触摸从而产生触摸事件,InputManagerService(IMS) 会对触摸事件进行处理,它会寻找一个最合适的窗口来处理触摸反馈信息,WMS 是窗口的管理者

    窗口不具备绘制功能. Surface 来供自己绘制,但是Surface 是WMS 来提供的

    AMS用于生命周期的管理 ActivityThread作为AMS的缓存对象,把曾经启动的activity缓存到ActivityThread类中的mActivities 集合中

    相关文章

      网友评论

          本文标题:Android 开机启动

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