冷启动优化

一、什么是冷启动?

冷启动

冷启动的定义/冷启动和热启动的区别/冷启动时间的计算


冷启动的定义:就是在启动应用前,系统中没有该应用的任何进程信息

热启动的定义:用户使用返回键退出应用,然后马上又重新启动应用


冷启动与热启动的区别

特点

冷启动的特点:先会创建和初始化Applaction类再创建和初始化MainActivity类进行一些布局的测量绘制等等再显示到界面上

热启动的特点:因为会从已有的进程启动,所以热启动就不会走Applaction这个类了而是直接走MainActivity这个类进行布局的测量和绘制.(只需要创建和初始化MainActivity就够了)


冷启动时间的计算

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


二、冷启动流程

四个流程

Zygote进程中fork创建出一个新的进程

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

nflate布局、当onCreate/onStart/onResume方法都走完

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


总结

Application的构造器方法--->attachBaseContext()--->onCreate()--->Activity的构造方法--->onCreate()--->配置主题中背景等属性--->onStart()--->onResume()--->测量布局绘制显示在界面上


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

1.减少 onCreate() 方法的工作量

2.不要让 Application 参与业务的操纵

3.不要再 Application 进行耗时操作

4.不要以静态变量的方式再 Application 中保存数据

5.布局(减少布局复杂性,布局的深度)/ mainThread(通过懒加载延迟所有的初始化)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言 关于冷启动的优化方法,网上已经有很多的文章了,总结起来,大概有以下几种优化方式: 优化布局,这一步是最简单的...
    事多店阅读 5,276评论 1 11
  • 一、冷热启动概念: 1、冷启动:冷启动因为系统会重新创建一个新的进程分配给它,所以会先创建和初始化Applicat...
    LiveMoment阅读 819评论 0 0
  • 一、什么是冷启动 1.冷启动的定义 ​ 冷启动就是启动应用前,系统中没有该应用的任何进程信息的时候启动应用的方...
    lkmc2阅读 628评论 0 1
  • 女人, 大美为心净, 中美为修寂, 小美为貌体; 男人, 大智为信仰, 中智为克己, 小智为财奴。 ———张爱玲
    狼行万里111阅读 609评论 0 2
  • 爱一个人不是看一个人的好,每个人都有能力去追求好的东西,漂亮的女人,善良的心,帅气小哥哥,美美小鲜肉。 婚姻中更是...
    漆黑之虎阅读 288评论 0 0

友情链接更多精彩内容