美文网首页性能
五、Activity的冷启动和热启动

五、Activity的冷启动和热启动

作者: HungerDeng | 来源:发表于2018-10-10 17:34 被阅读212次

一.定义

1. 冷启动的定义

  • 冷启动:启动应用前,系统中没有该应用的任何进程信息Application等,启动5s+。
1.1 冷启动时间的计算

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

2. 热启动的定义

  • 热启动:启动应用时,后台已有该应用的进程,内存中有应用相关Activity(home键退到桌面),启动1.5s+。

3. 温启动的定义

有一些文章有温启动这个启动类型。

  • 温启动:启动应用时,后台已有该应用的进程,内存中没有应用相关Activity(back键退出应用,未清除进程),启动2s+。

冷热启动过程中,会执行的步骤不一样。

  • 冷启动:系统会重新创建一个新的进程分配给它,所以会先创建和初始化Application类,再创建和初始化MainActivity类(包括一系列的测量、布局、绘制),最后显示在界面上。
  • 热启动:一个应用从新进程的创建到进程的销毁,Application只会初始化一次,所以不必创建和初始化Application,直接走MainActivity(包括一系列的测量、布局、绘制)。

二.冷启动流程

当点击app的启动图标时,安卓系统会从Zygote进程中fork创建出一个新的进程分配给该应用,之后会依次创建和初始化Application类、创建MainActivity类、加载主题样式Theme中的windowBackground等属性设置给MainActivity以及配置Activity层级上的一些属性、再inflate布局、当onCreate/onStart/onResume方法都走完了后最后才进行contentView的measure/layout/draw显示在界面上,所以直到这里,应用的第一次启动才算完成,这时候我们看到的界面也就是所说的第一帧。详细的参考:App(Activity)启动流程
总结应用的启动流程如下:
Application的构造器方 -> attachBaseContext() -> onCreate() -> Activity的构造方法 -> onCreate() -> 配置主题中背景等属性 -> onStart() -> onResume() -> 测量布局绘制显示在界面上。

三.如何对冷启动的时间进行优化

冷启动时,加载Application过程中,可能会消耗很多时间。如果不采取任何措施就会产生长时间的白屏或黑屏效果,让用户以为这个应用很卡。消除启动时的白屏/黑屏,请参考:Android冷启动实现APP秒开

当然我们也可以通过对冷启动的优化来减少冷启动时间

冷启动优化方法

相关文章

  • Android四大组件的工作过程,原理解析

    一、Activity启动过程 首先我们要知道Activity有冷启动和热启动之分,通俗来说冷启动就是应用进程尚...

  • Activity 启动流程分析

    Activity 的冷热启动 Activity的启动分为冷和热启动两种,所谓的冷启动指的是当前进程不在的时候,启动...

  • 启动优化1

    目录 一、冷启动定义 二、 冷启动和热启动 三、冷启动、热启动的区别 四、冷启动时间的计算 五、冷启动流程 六、冷...

  • 五、Activity的冷启动和热启动

    一.定义 1. 冷启动的定义 冷启动:启动应用前,系统中没有该应用的任何进程信息Application等,启动5s...

  • 冷启动和热启动

    一,什么是冷启动和热启动 二,冷启动流程 三,怎么对冷启动进行优化 一,什么是冷启动和热启动 定义:冷启动就是启动...

  • 性能优化

    一、启动优化 Activity启动形式分为三种类型:热启动、冷启动、温启动。重点在冷启动。 假优化:欺骗用户,去掉...

  • App 冷启动与热启动及启动白屏优化

    介绍一下 app 冷启动和热启动方式来实现 app 秒开的效果。那么,先来看看什么叫冷启动和热启动。 冷启动:指 ...

  • APP冷启动优化

    一、APP启动分为冷启动和热启动 1、冷启动 - APP从0-1的启动 2、热启动 - APP在后...

  • 性能优化 - 启动时间

    应用的启动分为:冷启动,暖启动和热启动。其中冷启动是我们优化的重点,优化冷启动可能会同时优化暖启动和热启动。 冷启...

  • App 冷启动与热启动及启动白屏优化

    介绍 我们介绍一下app冷启动和热启动方式来实现app秒开的效果。那么,先来看看什么叫冷启动和热启动。 冷启动:指...

网友评论

    本文标题:五、Activity的冷启动和热启动

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