美文网首页
系统启动 && APP安装 && 启动流程

系统启动 && APP安装 && 启动流程

作者: 卡路fly | 来源:发表于2020-05-25 18:45 被阅读0次

系统启动流程

1、 ROM加载引导程序BootLoader到RAM,执行Bootloader启动Linux Kernel,启动init进程

  1. init进程解析init.rc脚本做一些初始化(挂在文件系统、创建工作目录,启动系统服务进程zygote,media等)
  2. zygote启动systemServer进程
  3. systemServer进程中启动了AMS、PMS、WMS等服务
  4. AMS打开Launcher的homeActivity,进入桌面

App安装流程

将apk文件复制到data/app目录
解析apk信息
dexopt操作
更新权限信息
完成安装,发送Intent.ACTION_PACKAGE_ADDED广播

详细:Android系统APP安装流程


APP启动

详情:冷启动和热启动

  • 冷启动
    后台没有改进程,这时系统会重新创建一个新的进程分配给该应用,这种启动方式为冷启动

当点击app的启动图标后,首先会通过AMS在System进程展示一个Starting+Window(通常情况下是个白屏,可以通过设置Application的theme修改),接着AMS会通过Zygote创建应用程序的进程,并通过一系列的步骤后调用Application的attachBaseContext()、onCreate()然后最终调用Activity的onCreate()/onStart/onResume以及contentView的measure/layout/draw最终显示在界面上

App启动流程
  • 热启动
    后台已有该进程,系统从已有进程启动应用,这个方式为热启动。
    (back键,home键)
    热启动不会走Application这步,直接走MainActivity(包括一系列测量、布局、绘制)
    热启动比冷启动更快

相关文章

网友评论

      本文标题:系统启动 && APP安装 && 启动流程

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