Android 性能优化——解决应用启动白屏/黑屏问题

文章探讨了Android应用启动时出现白屏/黑屏问题的原因,主要是由于初始化操作耗时和系统预览窗口。提出了两种解决方案:通过`windowDisablePreview`属性关闭预览窗口,可能导致短暂的无响应;或者使用`windowBackground`展示品牌logo,提供更平滑的启动体验。推荐使用后者以改善用户体验。
摘要由CSDN通过智能技术生成

项目中遇到从桌面 launcher 的小图标冷启动 App 时会经常碰到白屏/黑屏的问题,大约几百毫秒,然后才会跳转到我们应用程序的第一个 Activity, 为什么会出现这种情况?

原因

当从桌面 Launcher 的小图标点击冷启动一个 App 的时候,程序需要进行一些基本的初始化操作,例如在Application 或者MainActivty中做了很多耗时操作,例如初始化第三方SDK等,当手机性能不好,配置不高时,这种现象尤其明显。
如果不用一个 Preview Window 先加载出来,用户可能就会觉得自己没有点到 Launcher 上面的那个小图标,所以系统会根据你 App 的主题来设置这个 Preview Window ,也就是白屏或者黑屏,如果你的主题是 Light 则是白屏,Dark 则是黑屏。

关于从Launcher启动App的过程分析参见老罗的这篇博客。
http://blog.csdn.net/luoshengyang/article/details/6689748

解决方案

不显示这个 Preview Window

既然是叫 Preview Window,那么肯定有一个开关来关闭这个 Window, 搜了一圈发现这个属性叫 windowDisablePreview ,所以可以在主题中加入如下属性来避免白屏/黑屏。

<item 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值