Android-彻底解决启动白屏、跳转页面白屏!

本文探讨了Android应用启动时出现短暂白屏现象的原因,并提供了两种解决方法。首先,通过设置启动页背景色来掩盖白屏,但这种方法可能影响美观。其次,通过禁用窗口预览达到秒开效果,避免白屏显示,适用于启动页和主页面。这种方法能有效解决白屏问题,提高用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:项目在启动页面老是有一瞬间白屏,还有切换日夜间模式时finish栈内所有Activity再启动MainActivity时会白屏。

1. 初步解决办法: 设置窗口的背景色为启动页。

虽然看不到白屏了,但还是有点丑,怪怪的…

<style name="MainSplashTheme" parent="AppTheme">
	<item name="android:windowBackground">@mipmap/splash_pic</item>
</style>

2. !!究极解决办法:关闭窗口预览,就是关闭掉在Activity初始化完成之前展示的默认的window

启动谁白屏,就给谁加这行!实现秒开效果

<!-- 启动页 -->
<style name="LaunchVideoTheme" parent="AppTheme">
        <item name="android:windowDisablePreview">true</item>
</style>
<!-- 主页 -->
<style name="MainSplashTheme" parent="AppTheme">
        <item name="android:windowDisablePreview">true</item>
</style>

“为啥应用启动会有黑屏或者白屏呢?因为在应用初始化完成之前会展示一个默认的window,而这个preview window的样式取决于自己启动页的theme是怎样的了,如果是light的就是白屏,如果是black的就是黑屏了。所以直接禁用这个默认动画就行”

参考文章:
https://blog.csdn.net/submit66/article/details/78569120 (主要看后两段)
https://blog.csdn.net/wangjiang_qianmo/article/details/51736418 (其他方式)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值