自建APM之启动优化

本文详细介绍了App启动优化的背景、启动分类、启动时间的测量方法(如ADB命令和手动打点)、启动优化工具的选择(如traceView和Systrace)以及优雅获取方法耗时的策略。同时,讨论了异步优化的重要性,强调了CPU时间在优化中的关键作用,并提供了多种优化技巧和注意事项。
摘要由CSDN通过智能技术生成

前言

内容导读:
启动优化的背景介绍->如何测量启动时间->启动优化工具选择->优雅获取方法耗时->异步优化原理介绍->异步优化最佳实践-启动器->延迟初始化方案->启动优化其它方案

启动优化介绍

日活上千万,几千万。

背景介绍
  • 第一体验
  • 八秒定律(70%用户流失)
启动分类
App startup time

冷启动

  • 耗时最多,衡量标准

启动流程:clickEvent->IPC->Process.start->ActivityThread(main 方法,程序入口。消息循环,handler)->bindApplication(反射创建Application,调用生命周期,)->Activity LifeCycle->ViewRootImpl
热启动
最快
后台->前台
温启动
较快
lifeCycle

相关任务

冷启动之前

  • 启动App
  • 加载空白Window
  • 创建进程

随后任务

  • 创建Application
  • 启动主线程
  • 创建MainActivity
  • 加载布局
  • 布置屏幕
  • 首帧绘制
优化方向

Application 和 Activity生命周期

总结

启动分类具体场景(重点)
启动阶段相关任务及优化方向

启动时间测量方式

ADB命令
adb shell am start -W -n 应用包名/首屏Activity全路径名

这个命令在不同手机下的输出不一样

vivo X9i

在这里插入图片描述

MI 8(分别是冷启动,热启动,温启动)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值