1. ATRACE_INT 打印不出来分析
#define ATRACE_INT(name, value) atrace_int(ATRACE_TAG, name, value) // /system/core/libcutils/include/cutils/trace.h
static inline void atrace_int(uint64_t tag, const char* name, int32_t value)
{
if (CC_UNLIKELY(atrace_is_tag_enabled(tag))) {
void atrace_int_body(const char*, int32_t);
atrace_int_body(name, value);
}
}
atrace_is_tag_enabled(uint64_t tag)
atrace_get_enabled_tags()
atrace_init()
return atrace_enabled_tags;
atrace_init_once()
atrace_enabled_tags = atrace_get_property(); //获取 debug.atrace.tags.enableflags 属性的值
/data/local/tmp # getprop debug.atrace.tags.enableflags //没有抓trace时
0
/data/local/tmp # getprop debug.atrace.tags.enableflags //抓trace时
0x100496e
/data/local/tmp # getprop debug.atrace.tags.enableflags //结束抓trace
0
0x100496e = 1,0000,0000,0100,1001,0110,1110 //每bit表示含义见 /system/core/libcutils/include/cutils/trace.h
ATRACE_TAG_GRAPHICS 是 1<<1
atrace和systrace和ftrace: https://www.cnblogs.com/pyjetson/p/14946007.html //里面有讲解如何设置下去的。
/* 设置当前进程是否启用跟踪。 这用于防止 Zygote 进程内的跟踪。 */
atrace_set_tracing_enabled(bool enabled); //system/core/libcutils/include/cutils/trace.h ==> 都是使用这个在启动时关闭trace的,自己设置了仍然不生效, 设置成true/false都
打印不出来。