面试记录第十八节——(冷启动)
2017-10-12 17:51
267 查看
一、什么是冷启动
在安卓中,系统为每一个应用至少分配一个进程,所以从进程的角度来说,冷启动就是在应用启动之前,系统中没有该应用的任何进程信息。例如第一次启动或者被杀死后再次启动
二、冷启动、热启动的区别
答:
第一点:定义不同。冷启动的时候,应用启动的时候,后台没有该应用的进程,这个时候系统会创建一个新的进程,分配给该应用。
热启动的时候,启动应用的时候,后台已经有了该应用的进程,你是通过back键或者home键退出了应用,但是该应用依旧保留在后台。
第二点:启动特点
冷启动:系统会重新分配给它,所以会初始化和创建Application类,再创建MainActivity类,然后会进行一些测量、布局、绘制等等操作,最后显示在界面上。
热启动:因为会从已有的进程来启动,所以应用就不会走Application这种类,而是走MainActivty类,然后进行一些测量、布局、绘制等操作。
三、冷启动时间的计算
答:这个时间值从应用启动(创建进程)开始计算,到完成视图的第一次绘制(即Activity内容对用户可见)为止。
四、冷启动流程
答:这个时间值从应用启动(创建进程)开始计算,到完成视图的第一次绘制(即Activity内容对用户可见)为止。
Ztgote进程中frok创建出一个新的进程创建和初始化Application类、创建MainActivity类。
inflate布局、当onCreate/Onstart/onresume方法都走完。
contentview的measure/layout/draw显示在界面上
4000
五、如何对冷启动的时间进行优化
答:
1、减少oncreate()方法的工作量。2、不要让Application参与业务的操作。
3、不要在Application进行耗时操作。
4、不要以静态变量的方式在Application保证数据。
5、布局/mainthread,尽量进化布局,减少系统绘制功能。
相关文章推荐
- Linux主机下配置Oracle 11 自动启动过程记录
- Windows7操作记录_操作时间记录_启动时间记录_日志查看
- 友善之臂tiny4412使用SD卡烧录uboot,并使开发板从SD卡启动进入uboot过程记录。
- Android 面试故事 | 13家面试记录
- Eclipse+Tomcat启动时两个问题的解决记录
- 面试总会问道的sql语句查询重复记录
- 前端工作面试问题(先记录,后面再一一解答)
- 面试小故事:腾讯面试全记录
- Android 面试问题记录
- 集群启动步骤记录
- 面试问题记录
- Spring 启动记录(4)
- 某图笔试及面试记录
- uefi启动下windows8.1安装ubuntu14.04.1TSL双系统过程记录
- Spring 启动记录(9)
- windos XP 与 ubuntu 10.04双启动过程记录
- android开发,隐藏启动图标方法记录
- imx6ul evk板子 记录(5)通过底板sd卡即mmc 0 启动设备
- 哔哩哔哩Android面试记录
- 各大计算机公司 笔试及面试 题目 - 阿里巴巴、深信服(Linux的启动流程 V2)