美文网首页
Android系统冷启动

Android系统冷启动

作者: eagle006 | 来源:发表于2023-01-03 22:05 被阅读0次

一.android系统冷启动流程分为以下几个部分:

1、启动电源以及系统启动

2、引导程序BootLoader

3、Linux内核启动

4、init进程启动

5、Zygote进程启动

6、SystemServer进程启动

7、Launcher启动

二、app启动流程

1、启动APP进程: 当我们点击Launcher桌面程序的APP图标时,Launcher程序会调用startActivity()函数,通过Binder跨进程通信,发送消息给system_server进程。在system_server进程中,由AMS通过socket通信告知Zygote进程fork出一个子进程(APP进程)。

2、开启APP主线程: APP进程启动后,会实例化一个ActivityThread,并执行其main函数,同时会创建ApplicationThread、Looper、Handler对象,开启主线程消息循环Looper.loop()。

3、创建并初始化Application和Activity: ActivityThread的main函数通过调用attach方法进行 Binder 通信,通知system_server进程执行AMS的attachApplication方法。在attachApplication方法中,AMS分别通过bindApplication、scheduleLaunchActivity方法,通知APP进程的主线程Handler,对APP进程的Application和Activity进行初始化,并执行Application、Activity的生命周期。

4、UI布局和绘制: 主线程Handler初始化Activity时,会执行创建PhoneWindow、初始化DecorView的操作,并且添加布局到DecorView的ContentView中。ContentView,对应着Activity的setContentView中设置的layout.xml布局文件所在的最外层父布局。

相关文章

  • Android 优化——启动优化

    Android 优化目录 App 启动方式 冷启动App 没有启动过或 App 进程被杀,系统中不存在该 App ...

  • Android 12启动页适配

    Android 12开始应用冷启动和温启动时,系统会默认先加载SplashScreen(如下布局),然后在应用Ac...

  • 冷启动优化

    一、什么是冷启动? 冷启动的定义/冷启动和热启动的区别/冷启动时间的计算 冷启动的定义:就是在启动应用前,系统中没...

  • 关于App启动速度优化

    冷启动、热启动 冷启动:App启动前,它的进程不在系统里,系统新创建一个进程分配给它启动;热启动:App冷启动后,...

  • Activity冷启动流程

    Activity启动流程 本文章基于Android6.0源码 1. Activity冷启动 冷启动表示启动的时候没...

  • 推荐系统的冷启动

    冷启动包含3种:用户冷启动:新用户没有行为数据物品冷启动:将新物品推荐系统冷启动:新开发的网站没有用户

  • 使用Dropout解决推荐系统冷启动问题

    使用Dropout解决推荐系统冷启动问题 推荐系统回顾 & 冷启动问题 推荐系统的主流算法分为两类:基于记忆的(M...

  • android应用冷启动

    1 什么是冷启动 冷启动/热启动,冷启动消耗时间最长,冷启动就是在启动应用前,系统中没有该应用的任何进程信...

  • iOS 启动优化(二)二进制重排

    App启动分析 App启动分为 冷启动 和 热启动 冷启动:点击 App 启动前,它的进程不在系统里,需要系统新创...

  • 冷启动-Android

    Android:APP冷启动开始时,系统会做以下三个任务:1.加载并启动app2,展示一个空白Window:Win...

网友评论

      本文标题:Android系统冷启动

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