安卓应用启动时会闪一下黑屏的解决方案

Android手机在启动应用时,闪一下黑屏,有的手机1秒不到,有的2秒或以上?一直没注意其他应用,我试了几个demo都会有这种现象。然后我去测试qq,京东淘宝等app,发现他们并没有这种现象。后来我网上查找了原因,

闪黑屏的原因主要是因为Android系统启动我们应用时先要加载Application的onCreate和onResume后,还要再加载application里带有in<tent-filter>的Activity的onCreate和onResume,然后再显示第一个Activity。这里测试过,即使是onCreate和onResume不加载其他仅放一张图片,启动时仍然会闪一下黑屏。所以这个闪黑屏是不可避免的。但是看到QQ和微信等应用时,这个是怎么实现的?我们可以自定义一个theme来掩饰一下黑屏。

//1/设置背景图Theme
<style name="Theme.AppStartLoad" parent="android:Theme">  
    <item name="android:windowBackground">@drawable/ipod_bg</item>  
    <item name="android:windowNoTitle">true</item>  
</style>
//2、设置透明Theme
<style name="Theme.AppStartLoadTranslucent" parent="android:Theme">  
    <item name="android:windowIsTranslucent">true</item> 
    <item name="android:windowNoTitle">true</item>  
<item name="android:windowFullscreen">true</item>
</style>


解决的原理

Theme.AppStartLoad 程序启动时,界面先显示第一个Activity的背景图,然后再刷新其他界面控件,这时候界面就会显示activity的背景图片。我们就看不到黑屏现象了。
Theme.AppStartLoadTranslucent  程序启动时,我们将当前的activity透明处理了,感觉会有一点延迟,但是我们看不到黑屏了。

解决的方法建议使用第二种,现在大多数的app都会使用第二种。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值