Android app启动秒开并避免白屏或黑屏

问题:我们在桌面点击某些app图标时会感觉卡顿了一下才弹出app启动页,或者启动时先白屏或黑屏一会才显示启动页。这样给用户的体验不太好。

优化方法1:
定义一个启动页专用的主题:

<style name="AppStartTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowBackground">@android:color/transparent</item> 
</style>

这样启动时会给启动页一个透明的主题,可以解决启动时先白屏或黑屏一会才显示启动页。
但是还是会有一点卡顿的效果。可以把应用的一些非必须的初始化做延迟处理。不要在application和启动页的oncreate中做太多的耗时操作。
优化方法2:
给启动页设置一个图片做主题,这个图片就是app启动页背景图:可以直接使用图片,也可以使用layer-list形式的布局。推荐使用layer-list,屏幕适配好。

<style name="AppStartTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!--冷启动时间更慢 但是点击图标是立即打开视觉效果-->
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowBackground">@drawable/index1</item>
</style>

在启动页的oncreate中不要再设置contentview,只使用主题中背景图片。这种方法使用adb测试启动时间比方法1要耗时多,但是点击图标是立即打开的效果,没有卡顿也不会有白屏和黑屏。
市场上一些秒开的app也是这么做的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值