关于Android应用启动的时候黑屏的问题已经有很多帖子提出了解决的办法,即定义一个theme style:
<style name="Theme.Holo.SplashActivity" parent="@style/ Theme.AppCompat.NoActionBar">
<item name="android:windowActionBar">false</item>
<item name="android:windowBackground">@drawable/bg_splash</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowContentOverlay">@null</item>
</style>
其中
<item name="android:windowBackground">@drawable/bg_splash</item>
为关键处,即把需要的加载界面图片放到这里,然后在AndroidManifest.xml中给SplashActivity设置theme:
<activity
android:name=".SplashActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@style/Theme.Holo.SplashActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
如此就可以避免启动时有黑屏或白屏的现象。
但是有时候会发现启动的时候没有了黑屏或者白屏,但是在activity加载出来之前还是会有一次黑屏或白屏闪现那么一瞬间,究其原因可以去Application中查看一下:
当自定义了Application,重写了onCreate方法,而且现在好多项目里会应用第三方的sdk,会在这里进行初始化耗时操作,如果在onCreate的第一行不是
super.onCreate();
那么问题就回来了,很有可能会发生上面说的中间有白屏或者黑屏闪现出来,这时只需要把super.onCreate();方法放到第一行调用即可。