Android App 冷启动出现白屏或者黑屏问题的解决方案

从桌面 Launcher 的小图标冷启动 App 时会经常碰到白屏或者黑屏的问题,大约1秒左右的时间,才会跳转到我们应用程序的第一个 Activity。

为什么会出现这种情况

当从桌面 Launcher 的小图标点击冷启动一个 App 的时候,程序需要进行一些基本的初始化操作,如果不用一个 Preview Window 先加载出来,用户可能就会觉得自己没有点到 Launcher 上面的那个小图标,所以系统会根据你 App 的主题来设置这个 Preview Window ,也就是白屏或者黑屏,如果你的主题是 Light 则是白屏,Dark 则是黑屏。

解决方案

  • 不显示这个 Preview Window

    这个属性叫 windowDisablePreview ,可以在主题中加入如下属性来避免白屏或者黑屏的出现。

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

    但是这种方法有个小缺点,就是点击后短暂的那几百毫秒没有反应,就好像“假死”了一样,过了一会儿才跳出我们应用程序的第一个Activity,如果你不想让你的 App 有这个短暂“假死”时间,那么可以考虑用第二种解决方案。

  • 用 windowBackground 来代替

    可以通过设置 windowBackground 这个属性来解决,如下:

    <item name="android:windowBackground">@drawable/logo_page</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowNoTitle">true</item>

    windowBackground 属性相当于给主题设置了一个背景,用这种方式启动后,Preview Window 的背景就不会是白色或者黑色了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值