当打开一个Activity时,如果这个Activity所属的应用还没有在运行,系统会为这个Activity所属的应用创建一个进程,但进程的创建与初始化都需要时间,在这个动作完成之前系统要创建一个StartingWindow(也可以称之为Preview Window),当程序初始化完成后显示用户UI并移除这个窗口。
显示白屏或者黑屏,是由你的启动Activity或者Application的主题来决定的。如果你使用的是Light主题,那么就可能出现白屏;如果你使用的是Black主题,那么就可能出现黑屏。当你设置Light或者Black主题时,Starting Window显示的就是你启动Activity的android:windowBackground属性,所以才会出现白屏或者黑屏的情况。
解决方案:给LaunchingActivity的主题的windowBackground设置一个图片
<activity
android:name=".ui.launching.SampleLaunchingActivity"
android:screenOrientation="portrait"
android:theme="@style/LaunchingTheme">
<!-- 防止启动页白屏,设置图片 -->
<style name="LaunchingTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@drawable/activity_launching_bac</item>
<item name="android:windowFullscreen">true</item>
</style>it
本文解释了Android应用启动时出现白屏或黑屏的原因,并提供了解决方案:通过为启动Activity的主题设置windowBackground属性来避免这一现象。
917

被折叠的 条评论
为什么被折叠?



