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

    xiaoxiao2021-03-25  153

    应用启动时,会初始化很多东西,初始化的这段时间还没有绘制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性能,真正的减少初始化时间,真正的提升用户体验!

    大功告成,谢谢大家!

    转载请注明原文地址: https://ju.6miu.com/read-4443.html

    最新回复(0)