您的位置:首页 > 职场人生

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 面试