app在进入Splash欢迎页前会有白屏的情况, 虽然时间不长, 但是空下来还是想优化掉。
看了这2篇博客,对问题原因做了下了解
带你重新认识:Android Splash页秒开 Activity白屏 Activity黑屏
但博主说的有点错误, 其实不需要在初始化页面之前设置一个额外的启动页, 也不需要设置页面透明,
否则反而会有切换页面闪烁的问题和等待时间长的问题
解决问题的重点有下面2点
1. 给Splash设置一个theme,继承App的主题并且在windowBackGround设置需要的背景图
2. 不要在Splash之前做PreActivity, Splash本身也不要过快跳转, 就不会出现闪烁的问题
系统加载初始页的时候, 其实是先加载windowBackground, 如果你没设置过, 那么就根据系统主题用黑屏或者白屏,
同时进行Application初始化, 然后执行Activity的Oncreate,setContentView等操作
<style name="SplashTheme" parent="AppTheme"> <item name="android:windowBackground">@drawable/newsplash</item> <item name="android:windowFullscreen">true</item> </style>