Android源码中有大量的EventLog日志,通过这个日志可以很简洁的呈现出系统的事件处理流程,包括时间,状态,便于我们分析定位问题。
- 命令
查看Event所有的tags
adb shell cat /system/etc/event-log-tags
输出events日志信息
adb logcat -b events
该命令会输出带有时间点、进程号等信息的events log
adb logcat -v threadtime -t 4096 -b events
- EventLogs完整语义分析
30014 am_proc_start (User|1|5),(PID|1|5),(UID|1|5),(Process Name|3),(Type|3),(Component|3)
格式:(<name>|data type[|data unit]) ==> (<名字>|数据类型[|数据单位])
例子:(User|1|5) ==> 名字为User, 数据类型为1,数据单位为5,下面再来看看数据类型和数据单位
数据类型:1:int,2:long,3:string,4:list
数据单位:1:对象个数,2:字节数,3:毫秒,4:分配个数,5:ID,6百分比
实例分析:
am_proc_start (User|1|5),(PID|1|5),(UID|1|5),(Process Name|3),(Type|3),(Component|3) am_proc_start: [0,9227,10002,com.android.browser,content provider,com.android.browser/.provider.BrowserProvider2]
进程启动: UserId=0, pid=9227, uid=10002, ProcessName=com.android.browser,
数据类型=ContentProvider, 组件=com.android.browser/.provider.BrowserProvider2
更多格式参考下面的列表
- EventLogs格式整理
AM
30001