Android面试系列文章2018之内存管理之冷启动过优化篇
2018-02-26 23:37
274 查看
Android面试系列文章2018之内存管理之冷启动过优化篇
1.定义
冷启动就是在启动应用前,系统没有该应用的任何进程信息。2.冷启动和热启动区别
热启动:用户使用返回键退出应用,然后马上有重新启动应用。3.冷启动流程
冷启动的时间值:从应用启动(创建进程)开始计算,到完成视图的第一次绘制(即Activiy内容对用户可见)为止。Zygote进程中fork创建出一个新的进程,然后创建和初始化Application类,创建MainActivity类,inflate布局,当onCreate/onStart/onResum方法都走完,contentView的measure/layout/draw显示在界面上。
冷启动的流程:
Application构造器–>attachBaseContext()–>OnCreate()–>Activity构造器–>onCreate–>配置主题背景等属性–>onStart()–>onResume–>测量布局绘制显示在界面上。
4.如何对冷启动的时间进行优化
a.减少onCreate方法的工作量。b.不要让Application参与业务逻辑。
c.不要在Application中做耗时操作。
d.不要以静态变量方式在Application中保存数据。
e.布局优化/mainThread尽量延迟初始化
相关文章推荐
- Android面试系列文章2018之内存管理之UI卡顿篇
- Android面试系列文章2018之内存管理之Bitmap的加载篇
- Android面试系列文章2018之Android部分View绘制机制篇
- Android面试系列文章2018之内存管理篇
- Android面试系列文章2018之Java部分注解篇
- Android面试系列文章2018之Andrlid代码分析lint检查篇
- Android面试系列文章2018之Android部分之动画机制篇
- Android面试系列文章2018之架构搭建之MVVM模式篇
- Android面试系列文章2018之Android部分IntentService机制篇
- Android面试系列文章2018之Android部分事件分发机制篇
- Android面试系列文章2018之Android构建流程篇
- Android面试系列文章2018之实战经验部分之gradle篇
- Android面试系列文章2018之Java部分异常篇
- Android面试系列文章2018之Java部分反射机制篇
- Android面试系列文章2018之实战经验部分之网络框架篇
- Android面试系列文章2018之实战经验部分之异步框架篇
- Android面试系列文章2018之架构搭建之MVP模式篇
- Android面试系列文章2018之Android插件化篇
- Android面试系列文章2018之Android部分之自定义View篇
- Android面试系列文章2018之进程保活篇