01_Systrace 应用启动时间的三种方法
和你一起终身学习,这里是程序员Android
经典好文推荐,通过阅读本文,您将收获以下知识点:
一、看这篇文章收获的关键字
二、方法一
三、方法二
四、方法三
一、看了这篇文章的收获关键字
iq、oq、wq
AppLaunch_dispatchPtr:Down 、 AppLaunch_dispatchPtr:Up、InputReader、InputDispatcher
launching: com.****
SurfaceFlinger
deliverInputEvent
Systemserver:
iq、oq、wq 点击事件分发
AppLaunch_dispatchPtr:Down 、 AppLaunch_dispatchPtr:Up、InputReader、InputDispatcher
启动app:launching: com.****
SurfaceFlinger
app 包名,应用送显第一帧buffer
Launcher
deliverInputEvent app 事件分发
用systrace分析应用冷启动,是性能问题分析中最常见的问题,要分析应用冷启动,首先就必须知道如何通过systrace来看应用启动时间,方法有很多种,下面介绍三种方法,大家可以在依据自己的习惯来选择对应的方法,但是,在做对比分析的时候最好采用同一种方法,这样可以尽可能的减少误差。
二、方法一
通过input事件和应用绘制的第一帧来判断:
按照图中步骤应用启动时间为:2555-1220=1335ms
三、方法二
通过system_server中的launching time来确认(如图launching: com.jingdong.app.mall):1233ms
四、 方法三
通过iq时间来确认,有时候应用慢不是慢在启动过程(即:从点击到应用绘制第一帧的时间),而是慢在页面加载(这里暂时忽略动画时间长影响),那么如何来确认应用的启动时间能,这里有个小技巧,就是在应用页面加载完成的时候立马,点击一下屏幕,通过俩个点击时间直接的时间间隔来确定应用启动的时间,这里同时也确定了,应用启动要分析的systrace范围,这个范围会比方法一和二的时间略长。
原文链接:https://blog.csdn.net/qq819025485/article/details/103847865
友情推荐:
至此,本篇已结束。转载网络的文章,小编觉得很优秀,欢迎点击阅读原文,支持原创作者,如有侵权,恳请联系小编删除,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!
点击阅读原文,为大佬点赞!