Android 启动优化说明、黑白屏处理

本文详细介绍了Android应用的冷启动、热启动和温启动,解析了启动流程,强调了冷启动优化的重要性,并提供了获取启动时间的方法。优化方案包括减少XML布局嵌套、延迟初始化、避免主线程耗时操作和处理黑白屏问题,旨在提升用户体验。
摘要由CSDN通过智能技术生成

启动对于安装来说,有两种,一种就是Android系统的启动,一种就是App应用的启动。

Android系统启动就是手机启动,整个过程就是手机开机到进入手机桌面,里面的流程是这样的:

  1. 上电(开机)

  2. BootLoader (系统引导芯片唤起)

  3. Linux Kernel (init.rc)

  4. Init进程 (ID为1)

  5. Zygote进程

  6. ART,SystemServer等系统服务

  7. Binder(线程池)SSM(系统消息)、AMS(启动App)、PMS(包管理)等各种系统服务

  8. Launcher(手机系统桌面)

下面就是App的启动,这也是文章中主要说明的。App的启动就分为三个:

  1. 冷启动

  2. 热启动

  3. 温启动

也许你对这几个说法会比较陌生,这里简单介绍一下:

1. 冷启动

比如你开机之后第一次点击这个应用在手机桌面上的图标,打开这个App应用,或者说是你的App进程被杀死有一段时间之后,你又打开这个App,这是比较简单的说法。再简洁一点就是 首次启动,后台无应用进程

2. 热启动

用户退出当前应用但是进程未被杀死(销毁)。就比如我现在在使用某一个App,然后我收到了一个微信消息,我点击消息去微信了,然后这个App从前台进入后台。但是应用依然在后台运行,进程未被杀死。此时你再进入这个App就叫作热启动。

3. 温启动

温启动就介于冷启动和热启动之间,说一个不太恰当的例子,中国古代刑场杀头,按照电视剧的手法,在刀斧手举刀要杀还没杀的时候,来一句刀下留人,那么这个人就又活过来了。换到应用中来就是,我结束应用的进程之后,马上又打开这个应用。此时它的进程会在内存中进行销毁,但是销毁是需要时间的,不是说销毁就销毁的。此时你又启动App,那么它的操作环节要比冷启动少,多热启动要多,折中的操作就是温启动。就好像你冷水兑热水,水会变温一样的道理。

三个启动简单说明了一下,实际上的热启动和温启动都会走冷启动的部分流程,因此我们优化冷启动就可以了。

4. 冷启动流程

  1. 用户点击桌面上的App图标,Launcer进程采用Binder IPC(Inter-Process Communication,进程间通信)方式向system_server发送startActivity请求。

  2. system_server进程接收到请求

  • 18
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值