面试记录第十八节——(冷启动)

本文详细解释了安卓应用冷启动的概念及其与热启动的区别,并介绍了冷启动的时间计算方法及优化技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、什么是冷启动

在安卓中,系统为每一个应用至少分配一个进程,所以从进程的角度来说,冷启动就是在应用启动之前,系统中没有该应用的任何进程信息。例如第一次启动或者被杀死后再次启动

二、冷启动、热启动的区别

答:
  • 第一点:定义不同。

冷启动的时候,应用启动的时候,后台没有该应用的进程,这个时候系统会创建一个新的进程,分配给该应用。

热启动的时候,启动应用的时候,后台已经有了该应用的进程,你是通过back键或者home键退出了应用,但是该应用依旧保留在后台。

  • 第二点:启动特点

冷启动:系统会重新分配给它,所以会初始化和创建Application类,再创建MainActivity类,然后会进行一些测量、布局、绘制等等操作,最后显示在界面上。

热启动:因为会从已有的进程来启动,所以应用就不会走Application这种类,而是走MainActivty类,然后进行一些测量、布局、绘制等操作。


三、冷启动时间的计算

答:这个时间值从应用启动(创建进程)开始计算,到完成视图的第一次绘制(即Activity内容对用户可见)为止。

四、冷启动流程

答:这个时间值从应用启动(创建进程)开始计算,到完成视图的第一次绘制(即Activity内容对用户可见)为止。

Ztgote进程中frok创建出一个新的进程

创建和初始化Application类、创建MainActivity类。

inflate布局、当onCreate/Onstart/onresume方法都走完。

contentview的measure/layout/draw显示在界面上

这里写图片描述


五、如何对冷启动的时间进行优化

答:

1、减少oncreate()方法的工作量。

2、不要让Application参与业务的操作。

3、不要在Application进行耗时操作。

4、不要以静态变量的方式在Application保证数据。

5、布局/mainthread,尽量进化布局,减少系统绘制功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值