Android---第一次启动出现白屏或者黑屏

APP开发中,第一次运行启动app时,会出现一会儿的黑屏或者白屏才进入Activity的界面显示。

当打开一个Activity时,如果这个Activity所属Application还没有在运行,

系统会为这个Activity的创建一个进程(每开启一个进程都会有一个Application,所以Application的onCreate()可能会被调用多次),

但进程的创建与初始化都需要时间,在这个动作完成之前,如果初始化的时间过长,屏幕上可能没有任何动静;

这样看起来就像Activity已经启动起来了,只是数据内容还没有初始化好。

简单的代码解决问题:

创建一个res/drawable下新建一个layer-list, backsplash.xml

<?xml version="1.0" encoding="utf-8"?>
<item>
    <bitmap
        android:gravity="center"
        android:src="@drawable/cg_dao" />
</item>

然后

<style name="SplashTheme" parent="AppTheme">
    <!-- 将splash图片设置在这,这样这张图片取代白屏 -->
    <item name="android:windowBackground">@drawable/backsplash</item>
    <item name="android:windowFullscreen">true</item>    
    <!-- <item name="android:windowIsTranslucent">true</item> --> <!-- 透明背景不要了 -->
</style>

最后在AndroidManifest.xml中定义MainActivity设置:



            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

如上可能会报错如下
Error: requires a valid src attribute

为避免错误:二进制 XML 文件行 #XXX: 需要有效的 src 属性

在图层列表中,使用:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值