1.简介
本篇文章是该系列文章中的第一篇,主要介绍的是在一些一线大厂的实际项目中,如果APP发生卡顿是如何进行定位问题的。主要介绍 程序的耗费时间
2.测量时间方式
首先,如果要查看页面加载花费的时间有3种方式
- adb命令查看
- 手动打点的方式
- traceView
3.adb命令
只需要一行命令,就可以查看加载页面的时间。
adb shell am start -W 包名/包名.Activity
使用后会显示
ThisTime: 代表启动最后一个Activity的耗时
TotalTime: 代表启动所有的Activity的耗时
WaitTime: 代表AMS启动所有的Activity的耗时
注意点:该命令只能是获取配置了的Activity, 其他的无效,因为Android组件中有个 exported 属性,没有intent-filter时exported 属性默认为false,此组件只能由本应用用户访问,配备了intent-filter后此值改变为true,允许外部调用。
缺点:
adb命令只能查看配置了的Activity,其他的无法查看,并且也无法精准的查看其方法具体耗费的时间,所以因为其局限性 并不能很好的解决我们问题,我们采用手动打点的方式查看。
4.手动打点
先看代码
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
initBugly();
initBaiduMap();
initJPushInterface();
initShareSDK();
...
}
private void initBugly() throws InterruptedException {
Thread.sleep(1000); // 模拟耗费的时间
}
private void initBaiduMap()

本文介绍了在一线大厂APP性能优化中,如何定位卡顿问题。通过adb命令、手动打点和Aspectj的AOP方式来测量方法耗时,详细解析了traceView的使用,包括其特点、使用方式、性能分析,以及Call Chart和Flame Chart的区别,帮助开发者高效定位性能瓶颈。
最低0.47元/天 解锁文章
1538

被折叠的 条评论
为什么被折叠?



