关于Android应用冷启动白屏解决办法

问题产生原因

当启动一个APP时,孵化器zygote进程会创建一个新的进程去运行这个APP。 但创建进程需要一定时间,再创建完成前,界面不会作出反应。此时会给用户造成一种没有点击到APP的错觉,影响体验。 为了改善用户体验,Preview Window出现了,它会在创建进程这个期间显示,让用户感觉到APP启动了 而Preview Window就是白屏/黑屏的原因, 它是黑屏还是白屏,默认取决于第一个启动的Activity的Theme,如果该Activity没设置Theme,默认使用Application的Theme

解决方案

1.给Activity设置一个透明背景的主题

<style name="MyTheme" parent="AppTheme">

    <item name="android:windowFullscreen">true</item>

    <item name="android:windowIsTranslucent">true</item>

</style>

2.禁用Preview Window

  <style name="MyTheme" parent="AppTheme">
        <item name="android:windowDisablePreview">true</item>
  </style>

3.为启动Activity设置默认背景图

<activity
            android:name="com.android.inestpin.WelcomeActivity"
            android:screenOrientation="portrait"
            android:theme="@style/MyTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
</activity>
<style name="MyTheme" parent="AppTheme">
    <item name="android:windowBackground">@drawable/app_start_bg</item>
    <item name="android:windowNoTitle">true</item>
</style>

转载:http://blog.csdn.net/hansion3333/article/details/78090174

猜你喜欢

转载自blog.csdn.net/TomCat0916/article/details/79483994