解决Android应用冷启动时出现的白屏问题

Android 应用冷启动时,需要从Application开始启动,加载时间就会比较长,容易出现白色或黑色闪屏,观察一下手机上一些 其他APP 比如 微信、京东等就不存在这个现象。

原因分析

分析一下原因,其实是跟闪屏Activity的主题有关,比如使用了
Theme.AppCompat.Light.DarkActionBar主题的话,其中指定了windowBackground,所以背景就是白色的了。

 <itemname="android:windowBackground">@color/background_material_light</item>

解决方案

  • 设置Theme
    我们需要在 manifest指定SplashActivity的theme
<activity
    android:name=".SplashActivity"
    android:theme="@style/AppTheme.Splash">
    ...
</activity>
  • 设置 Style 背景图片
<style name="AppTheme.Splash" parent="AppTheme">
    <item name="android:windowBackground">@mipmap/splash</item>
    <item name="android:windowNoTitle">true</item>
</style>

这个style只是用来做闪屏的主题,APP的默认主题还是使用AppTheme

这种设置后默认先是出现APP内置的闪屏图片,然后在SplashActivity中再动态加载在线闪屏,最后进入主界面。最终实现效果与京东的APP类似。

扫一扫下方二维码,关注我的微信公众号(APP开发进阶),第一时间获得Android开发进阶文章

《解决Android应用冷启动时出现的白屏问题》 APP开发进阶

    原文作者:阳春面
    原文地址: https://www.jianshu.com/p/9dac5e59ea49
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞