背景:项目在启动页面老是有一瞬间白屏,还有切换日夜间模式时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 (其他方式)
|