冷启动

一、什么是冷启动

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

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

答:

第一点:定义不同。

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


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

第二点:启动特点

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


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

四、冷启动流程

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


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


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


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

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

答:

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


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


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


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


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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容