Android应用启动黑屏的问题

关于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();方法放到第一行调用即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容