Android冷启动优化

一 什么是冷启动

只要APP的状态是未打开状态(包括不在后台),此时点击桌面图标启动应用的过程就是冷启动。

二 冷启动的表现形式

点击图标后出现了短暂的白屏,然后才显示了主页面的内容,虽然时间很短,但是很影响体验。

三 解决方法

  1. 减少冷启动的时间
    这个问题等同于如何减少应用初始化的时间,从上面的APP启动流程中,如果我们在应用初始化的操作越多,那么从初始化到绘制的时间越长,用户看到真实界面的时间也就越长,可以从如下几个方面进行:

    1.1 减少在 Application 中的耗时操作(懒加载)
    1.2 减少在 onCreate 的耗时操作

  2. 适配冷启动
    2.1 纯色背景 + 启动图标,简单的来说就是用 layer-list 绘制一个纯色的背景加上一个启动图标,layer-list 代码如下:




    

    
        
    


然后我们为SplashActivity创建一个主题:


    
    

    
    

最后为 SplashActivity设置主题为 SplashThemeLayer 在启动看看效果吧。

2.2 使用背景图片
前面的第一种方式是使用纯色背景 + 启动图标,这种方式肯定是不满足我们的产品经理的,他们要的是 个性化 的页面。
使用背景图片也是很简单的,只需要在theme里面将我们之前的drawable替换成我们的图片即可,需要注意的是:Splash页面的背景颜色需要设置为透明 #00000000,不要设置其他背景,否则会导致图片的伸缩变形。

总结:除了以上两种方案还可以做更复杂的动画形式的启动,那个难度要更高一些。具体使用什么方案,还需要依据自己的情况而定。

你可能感兴趣的:(Android冷启动优化)