【Android】冷启动优化

1、app的启动流程

App启动的描述。应用启动分为冷启动、热启动、温启动。而冷启动是应用程序从零开始,里面涉及到更复杂的知识。我们这次主要是对应用的冷启动进行分析和优化。应用在冷启动的时候,需要执行下面三个任务:

加载和启动应用程序;
App启动之后立即展示出一个空白的启动窗口;
创建App程序的进程;

在这三个任务执行后,系统创建了应用进程,那么应用进程会执行下一步:

创建App对象;
启动Main Thread;
创建启动页的Activity;
加载View;
布置屏幕;

进行初始绘制

当应用进程完成初始绘制之后,系统进程用启动页的Activity来替换当前显示的背景窗口,这个时刻用户就可以使用App了。应用进程的创建,那么它肯定会执行我们的Application的生命周期,当创建完成App的应用进程之后,主线程会初始化我们第一个页面MainActivity与执行MainActivity的生命周期。在分析如何优化前,我们可以先了解一下,我们的应用是不是需要对冷启动进行优化。

启动时间检测:

那么启动时间多少才是合适呢?在官方文档中描述到当冷启动在5秒或者更长的时,Android vitals就会认为你的应用需要进行冷启动相关的优化。不过Android vitals是针对Google Play的一款应用质量检测工具。

1、ADB命令

adbshell am start -W [packageName]/[packageName.MainActivity]

Status: ok

Activity: com.xx.xxx/com.xx.xxxx.welcome.view.WelcomeActivity

ThisTime: 242

TotalTime: 242

WaitTime: 288

Complete

ThisTime:是指调用过程中最后一个Activity启动时间到这个Activity的 startActivityAndWait调用结束;
TotalTime:是指调用过程中第一个Activity的启动时间到最后一个Activity的 startActivityAndWait结束。
WaitTime:是startActivityAndWait这个方法的调用耗时;

2、Systrace

Systrace非常直观地展示每个线程上面的API的调用顺序和耗时情况。

启动优化实操用户体验优化

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值