Android冷启动App白屏解析

2019-12-12  本文已影响0人  白_404

问题1:开发时,首次启动App白屏时间过长(长达五秒左右)

原因:AS的Instant Run需要做复杂的初始化工作,导致开发时首次启动App时长时间白屏。但会换来后面开发效率的剧增。

结论:只有在开发时才会有Instant Run,在正式的产品中是完全不存在Instant Run的!所以release版的App(如签名后的APK包)是不会出现这种现象的。

(动态效果图请看原文链接)

问题2:正式发布的App,首次启动时,依旧会经历一个很短的白屏

原因:启动时,程序需要进行一些基本的初始化操作(与Instant Run无关)

解决:修改styles.xml中主题相关的代码,加入了两个属性 windowIsTranslucent 和 windowNoTitle

原理:让程序在初始化时,窗口是透明的,初始化结束后程序主界面才会显示出来,就看不到白屏界面了

(但会让用户感觉程序启动的响应速度稍微慢了点,毫秒级的问题不大)

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

    ......

    <item name="android:windowIsTranslucent">true</item>

    <item name="android:windowNoTitle">true</item>

</style>

(动态效果图请看原文链接)

原文:Android冷启动白屏解析,带你一步步分析和解决问题——郭霖

上一篇下一篇

猜你喜欢

热点阅读