冷启动优化

一.什么是冷启动

1.冷启动的定义

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

2.冷启动/热启动的区别

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

冷启动:Application->主Activity

热启动:主Activity

3.冷启动时间的计算

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

二.冷启动流程

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

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

inflate布局、当onCreate/onStart/onResume方法都走完contentView的measure/layout/draw显示在界面上

总结:

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

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

1.减少onCreate方法的工作量

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

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

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

5.布局(减少复杂度)/mainThread

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

推荐阅读更多精彩内容

  • 似风,似雨,似流水 剪一段清风 洒一把雨 笑听和风细雨 起一座高山 拮一朵白云 坐看闲云流水 可有可无 似真似幻 ...
    苍穹一君阅读 1,690评论 2 2
  • 大仙一般是预测吉凶的。民间有【南方佛,北方仙,胡黄不入山海关】之说,表示胡黄之类的不仅在东北有,而且北方其他地方也...
    快乐小农民阅读 5,023评论 0 0
  • 作为一个22岁才开始谈恋爱的人,其实我不知道该如何去恋爱,我喜欢那种被人喜欢的感觉,却不愿意去承担谈恋爱在一起要为...
    短头发的小脸猫阅读 1,592评论 0 0