Android App启动出现白屏或者黑屏的优化方案

最近在研究使用app的过程中发现有的app首次启动的时候会有短暂的白屏,而有的app则不会出现这样的情况,起初我以为是手机的问题,但是我换了几个手机进行测试仍然会出现这样的状况,当然出现白屏给给用户的体验肯定是不友好的

第一种方法:针对出现白屏,黑屏的现象可以直接干掉,

      1.定义一个style:

  <style name="AppTheme.Launcher">
        <!--关闭启动窗口-->
        <item name="android:windowDisablePreview">true</item>
    </style>
2.只需要在启动页面引用:

 <activity android:name=".MainActivity"
            android:theme="@style/AppTheme.Launcher">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
3.最后在MainActivity恢复正常主题:

 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setTheme(R.style.AppTheme);//恢复正常主题
        setContentView(R.layout.activity_main);
    }

这样启动app没有白屏,但是会出现点击桌面图标而半天没有反应的现象,显然不好,很多app把这个闪屏当做一个广告,品牌的宣传页面

第二种:其实Google针对App闪屏,也给出了非常详细的设计定义

品牌展示:屏幕提供短暂的品牌曝光,定义一个drawable/branded_launch_screens作为背景:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!--黑色背景颜色-->
    <item android:drawable="@android:color/black"/>
    <!--产品logo-->
    <item>
        <bitmap
            android:gravity="center"
            android:src="@mipmap/ic_launcher"/>
    </item>
    <!--右上角的图标元素-->
    <item>
        <bitmap
            android:gravity="top|right"
            android:src="@mipmap/ic_launcher"/>
    </item>
    <!--最下面的文字-->
    <item android:bottom="50dp">
        <bitmap
            android:gravity="bottom"
            android:src="@mipmap/ic_launcher"/>
    </item>
</layer-list>

然后定义一个style:

<style name="AppTheme.Launcher2">
        <item name="android:windowBackground">@drawable/branded_launch_screens</item>
    </style>











  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值