阐述APP 冷启动、暖启动、热启动、首屏启动?

APP启动方式主要分为冷启动、暖启动、热启动和首屏启动。

  1. 冷启动:当应用启动时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就叫做冷启动。冷启动因为系统会重新创建一个新的进程分配给它,所以会先创建和初始化Application类,再创建和初始化MainActivity类(包括一系列的测量、布局、绘制),最后显示在界面上。
  2. 暖启动:包含了冷启动和热启动的部分操作,消耗比热启动多一些,与热启动的区别在于,它启动时会调用onCreate方法,相当于是介于冷启动和热启动之间的情况。
  3. 热启动:此程序仍然留在内存中,只是被系统从后台带到前台,可避免重复对像初始化和避免重复加载和渲染。因为会从已有的进程中来启动,所以热启动就不会走Application这步了,而是直接走MainActivity(包括一系列的测量、布局、绘制),所以热启动的过程只需要创建和初始化一个MainActivity就行了,而不必创建和初始化Application 。
  4. 首屏启动:首次启动严格划分是冷启动中的一种特殊情况,首次启动时间会比非首次启动要久,首次启动会做一些系统初始化工作,如缓存目录的生产、数据库的建立、SharedPreference的初始化,如果存在多dex和插件的情况下,首次启动会有一些特殊需要处理的逻辑,而且对启动速度有很大的影响,所以首次启动的速度非常重要,毕竟影响用户对App的第一印象。

发表评论

后才能评论