解决Android App第一次启动时显示白屏或者黑屏的问题

关于这个问题,首先得搞清楚一个概念,冷启动,所谓冷启动是指手指点下启动图标到第一个Activity界面调用onCreat方法之间的这段时间;那么在这一段时间内究竟是如何操作的?发生了什么导致白屏或者黑屏一段时间呢?
因为App在启动的时候会启动一个进程,在初始化的过程中,会消耗一部分时间,在这个时间里面WindowManager会先加载App里的主题样式里的窗口背景(windowBackground)预览,然后才去真正的加载布局,在这个时间里面因为默认的背景是白色或者黑色,所以会看到上面所述现象,要解决有两种方式
① 先在style.xml里面写对应的样式代码AppWelcome,把windowBackground替换成应用启动的第一个界面(此处的launch是我应用启动的第一张图片)
<style name="AppWelcome" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@drawable/launch</item>
</style>

然后在AndroidManifest.xml里面找到启动的Activity,在标签里面配置刚才的AppWelcome样式,android:theme="@style/AppWelcome"就可以了
② 第二种是把背景设置成透明的,具体样式<style name="AppWelcome" parent="android:Theme.Translucent.NoTitleBar.Fullscreen"/> 但是这样的效果会让人感觉启动慢、手机反应迟钝,不建议这样做,而且有问题,会报错
java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值