用户体验层面-APP启动优化

胖子最近在忙配合业务层,赶项目,紧急中没有考虑到应用细节问题,现回头从用户体验的层面一一来解决

用户体验层面-APP启动优化

都知道,app启动分热启动和冷启动,这里主要从应用层来优化冷启动(会涉及部分原理)。

冷启动:

点击桌面APP icon时,启动应用,这时后台没有该应用的进程,AMS会通知zygote孵化出应用进程,

随后一连串各种通知,到达我们最关心的Application和Activity。

来看看Application和Activity的执行顺序,我们从这里下手,优化APP的启动。

Application的构造方法

|

Application attachBaseContext

|

Application onCreate

|

Activity的构造方法

|

Activity onCreate

因为这些方法都是在主线程中执行的,所以不应该在这个流程中,执行花费时间长的操作。比如:各种第三方的SDK初始化

第一步 初始化SDK

继承IntentService,去onHandleIntent方面去执行(这里需要注意,初始化操作能不能在子线程中完成)。

不过,现在jetpack出来一个App Startup,朋友们可以去看看。

第二部 去掉启动时白屏或黑屏

为什么会白屏或黑屏呢?

因为冷启动,创建进程、初始化等操作,都需要一定的时间。在这段时间内,系统是会展示Starting Window的。

这个Starting Window是根据主题来展示的,我们来解决它。

创建一个主题

把android:windowBackground设置成你需要的样子。颜色、图片等

然后把启动类的theme,设置为该主题

结束

第三部 优化首页

每个App的首页,都十分复杂,涉及各种渲染、网络请求、数据填充等。

1.把Welcome或广告页,覆盖到首页之上。

2.在Welcome、广告页,读秒、展示时候,去操作首页的一系列操作。

以上三步

能在用户体验的层面,解决掉用户卡顿的问题。

对于CodeReview,我们回头再一点点去看

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值