如何看EventLog声明
EventLog的声明可以在out/target/common/obj/all-event-log-tags.txt中找到
定义如下
(<name>|data type[|data unit])
(<名字>|数据类型[|数据单位])
数据类型
1: int
2: long
3: string
4: list
数据单位
1: Number of objects(对象个数)
2: Number of bytes(字节数)
3: Number of milliseconds(毫秒)
4: Number of allocations(分配个数)
5: Id
6: Percent(百分比)
调用方式
EventLog可以通过调用系统方法写入
EventLog.writeEvent(EventLogTags.AM_ACTIVITY_LAUNCH_TIME, userId, System.identityHashCode(this), shortComponentName, thisTime, totalTime); |
am_activity_launch_time:
[0,224370552,com.trumpchi.assistant.app/com.trumpchi.assistant.account.mvp.ui.activity.AccountHomeActivity,1666,1666]
am_activity_launch_time (User|1|5),(Token|1|5),(Component Name|3),(time|2|3) |
userId(用户id), token(对象的hashCode), activityName(启动的Activity名称), 启动时长(重startActivity到onRsume) |
这里token的获取调用的方法是System.identityHashCode(r) identityHashCode 方法也是返回对象的HashCode值,不过区别在于无论对象是否重写HashCode值,都对该方法没有影响。identityHashCode 调用了native,所以最后总是会返回最初记录的值。 如果对象为null,会返回0。 |
附(android6.0 out/target/common/obj/all-event-log-tags.txt 文件):