APP应用首次安装启动慢 黑屏 白屏

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/HandsomeFuHS/article/details/60876459
    应用启动时,会初始化很多东西,初始化的这段时间还没有绘制UI,所以可能会黑屏或者白屏一段时间,这对用户体验很不友好。解决办法第一种是优化app性能,使初始化时间减少,瞬间UI绘制完成;第二种是在初始化这段时间(黑屏或者白屏时间),正常显示UI,给用户好的体验(不减少初始化时间)。性能优化是一块很复杂的内容,在这里就先不说了。下面我就着第二种方法给大家提供几种解决方案。

第一种

在SplashActivity的主题中设置透明:

<style name="SplashTheme" parent="AppBaseTheme">
    <!-- 将splashactivity背景设置透明-->
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowFullscreen">true</item>
</style>

这样在启动初始化时,SplashActivity透明,去除了黑屏或者白屏的情况,不过也会让用户感觉延迟了几秒,用户体验不太好。

第二种

将SplashActivity中的背景图片在SplashActivity的主题中设置,代码如下:

<style name="SplashTheme" parent="AppBaseTheme">
    <!-- 将splash背景图片在Theme中设置-->
    <item name="android:windowBackground">@drawable/splash</item>
    <item name="android:windowFullscreen">true</item>
</style>

这样白屏或者黑屏的时间也会显示SplashActivity的背景。
最后将SplashActivity的主题设置成刚才定义好的Theme:

    <activity android:name=".activity.SplashActivity"
            android:theme="@style/SplashTheme"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
    </activity>

虽然在某种程度上,问题解决了,但我还是希望大家能优化app性能,真正的减少初始化时间,真正的提升用户体验!

大功告成,谢谢大家!

猜你喜欢

转载自blog.csdn.net/HandsomeFuHS/article/details/60876459
今日推荐