由标题可以知道 今天我要探讨的问题是App启动的时候 会出现黑屏或者白屏的问题 也就是刚刚打开App的一瞬间 出现白屏或者黑屏然后跳转到闪屏页面的(这个是前提条件) 最后跳转到我们的主页面
1.第一个问题就是我们要解决的为什么会出现黑屏或者是白屏的原因
那是因为theme 对了 就是theme 大家可以对照 appThem这一主题(系统的主题)
activity在执行setContentView()方法后才会显示布局,所以在setContentView()方法前面不要放耗时的操作。如果activity是继承 下来的,那么也要注意一下父activity的onCreate()方法不要放耗时的操作。
还有一种情况就是,题主在onCreate()方法来调用了requestWindowFeature()方法来设置全屏,这样也会导致先显示白屏(黑屏)再跳转。
2.出现这个情况 我们怎么解决呢
既然是有theme的原因,那就好办了 那就直接在定义一个主题 看代码
<style name="welcomeTheme" parent="AppTheme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowBackground">@android:color/transparent</item>
</style>
看代码 我们就可以知道了 我自定义了一个welcomeTheme的主题 也相当于继承了AppTheme AppTheme 是系统的主题 这个不需要改动什么的。
然后在我们定义的功能清单中 AndroidManifest.xml中的 把这个主题加上去了
<activity
android:name=".Activity.LoadingActivity"
android:theme="@style/welcomeTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
这个时候你就发现了 打开app的时候 过度期间 白屏或者黑屏的页面消失了