Android去除启动时黑屏

黑屏或者白屏原因

aaa
- 应用启动时时黑屏和白屏,是因为在点击应用启动一直到第一个页面的onResume全部执行完成以后,才会显示界面。【这段时间】显示的是系统默认的黑屏或者白屏主题。

  • 而Activity切换的时候,也会出现类似的问题,而Activity切换的生命周期是
    activity1-onPause()->activity2-onCreate()->activity2-onStart()->activity2-onResume()->activity1-onStop();
    我们理所当然的认为切换Activity黑屏会更加明显,但是实际测试却并未如此。

activity在【本类】的onResume()方法完全执行完成以后,才会显示。
activity在【父类】的onPause()方法执行完成以后,过【一会儿】,才会黑屏消失。

因此在Activity1切换到Activity2的时候,会感觉在Activity1停了【一会儿】,才切换到Activity2。Activity的切换生命周期时间减去这【一会儿】,由于系统的Activity切换有默认动画,会感觉一下就跳过去了。

这个【一会儿】貌似是在异步回收一些系统的资源。(有待深入)

避免启动时黑屏或者白屏

出现问题的原因,我们大致清楚了,那么就能知道怎么解决它了。

解决启动页黑屏问题

方法一:设置application主题透明

这样会有启动慢的感觉

方法二:设置application主题背景为欢迎页背景

这种方式应该算是比较完善的方式了,启动瞬间的背景图跟WelcomeActivity背景图是一样的。

方法三(优化方法二)

我们可以根据Activity切换方式获得灵感,我们可以在方法二的基础上加入动画。最常见的应该就是缩放动画了吧!

PS:即便是这样,在应用启动到Application之间,还是有一丁点儿的时间,这个可以在录屏软件中录制过程中看出来。

Demo效果如下

Demo

传送门

Demo

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值