Android启动APP时Splash页会黑白闪屏现象的原因与优化方法

目前APP的设计思路,都会有一个启动页,来进行一些数据的初始化等一些比较耗时的操作,这就会造成启动页短暂的黑白屏闪动(黑还是白取决于app的默认主题)。那为啥会出现这种现象,并且该怎么解决这一问题呢?


问题出现的原因

当系统启动一个APP时,zygote进程会首先创建一个新的进程去运行这个APP,但是进程的创建是需要时间的,在创建完成之前,界面是呈现假死状态的,这就很尴尬了,因为用户会以为没有点到APP而再次点击,这极大的降低用户体验,Android需要及时作出反馈去避免这段迷之尴尬。于是系统根据你的manifest文件设置的主题颜色的不同来展示一个白屏或者黑屏。而这个白屏或黑屏正式的称呼应该是Preview Window,即预览窗口。

好了,现在我们明白了,Preview Window其实是为了提高用户体验而有意设定的。因此,其实如果不是强迫症,他可能并不是一个问题。但是我是一个有强迫症的处女座:这个体验很是不好,该如何破呢?


解决方法

在style.xml文件中为启动页的SplashActivity设置主题,设置android:windowBackground属性为开启SplashActivity显示的闪屏图片,这样才会有APP秒开的效果;

需要设置android:windowFullscreen属性为true,使闪屏图片全屏显示;

设置windowNoTitle属性为true,隐藏SplashActivity的ActionBar显示。

然后,在Androidmanifest.xml中,为启动的SplashActivity设置主题AppLauncher:


注:Application的Theme设置不需要添加windowIsTranslucent属性!!

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值