作者:Matherslll_493 | 来源:互联网 | 2023-07-28 01:53
一、 MTK log 目录结构:
1、 目录结构
目录结构是这样子的:
aee_exp:异常信息都会打包成db文件,放到这里,比如开机异常、ANR等
mdlog1:modem log,负责搜网和sim卡数据操作的底层模块,用于分析掉线、无信号、掉网等问题,一般此文件都需要特殊工具解码,主要针对射频modem相关问题抓取(mtklog/mdlog)
mobilelog:也称AP log,系统应用层的log,比如应用程序无响应或强行关闭,kernel相关的,比如driver(相机、蓝牙、usb、启动)出了开机问题、手机对服务唤醒和休眠的一些记录蓝牙相关问题。
netlog:主要针对网络的Network相关问题抓取(mtklog/netlog)
主要场景:彩信下载、浏览器上网、streaming问题相关
WIFI、数据流量下不同场景信号下的网络连接问题,网络下的数据传输问题
2、 mobilelog
mobilelog打开,里面是这个样子的:
Crash_log:看crash问题相关的log;radio是天线相关的
syst_log主要是系统log;mainlog和syslog差不多
event_log是Activity的启动件,就是app的打开,退出,关闭啥的
kernel_ log是kernel层的log
bootprof是开机的log,记录开机过程中所有操作和操作的时间
二、 如何读log
读log基本针对关键字和包名就可以找到对应的操作信息,关键字是非常多的,需要在实际的分析问题中去慢慢的了解,下面以应用的启动和退出为例
应用启动和退出:
启动退出都是遵循着应用的生命周期,对应的log信息也是一样的,log的启动退出的关键字对应生命周期的名称
log中读取信息的关键字:
am_resume_activity:应用打开的时间(即onResume的执行时间)
am_pause_activity :用来从log中看的开始点击应用的时间点(因为所有应用都是从launcher开始的,打开其他应用会暂停launcher,所以这个算是对应于人点击屏幕的)
如下图:可以认为是从10:02:40.93开始点击屏幕的
am_create_activity:创建一个活动(多数用来分析ANR的)
am_activity_launch_time(红色的标记是Activity的启动时间)
我们用东舟仪器和研发从log中读取的Activity的启动时间是不一致的 ,其中包含了touch的时间以及结束计时点的不是准确的(可能包含另一个的activity)。
Activity的生命周期:
三、 Systrace 分析
时延的问题,systrace和log一样,记录了我们需要看的操作的时间,因为log太大,内容繁杂混乱,一般性的性能问题的分析都是用systrace分析的
抓取systrace的方法参照:http://blog.csdn.net/adagio1983/article/details/48496653