美文网首页
systrace release

systrace release

作者: 旭仔_2e16 | 来源:发表于2021-11-17 11:41 被阅读0次

如果我们想要待分析的App尽可能接近真实情况,那么必须要在非Debug的App中能启用systrace功能;因为相同情况下Debug的App性能比非Debuggable的差,你无法确保在debuggable版本上分析出来的结论能准确推广到非debuggable的版本上。

分析systrace源码之后 ,发现这个条件只是个障眼法而已;我们可以手动开启App的自定义Label的Trace功能,方法也很简单,调用一个函数即可;但是这个函数是SDK @hide的,我们需要反射调用:

Class<?> trace = Class.forName("android.os.Trace");
Method setAppTracingAllowed = trace.getDeclaredMethod("setAppTracingAllowed", boolean.class);
setAppTracingAllowed.invoke(null, true);

把这段代码放在Application的attachBaseContext 中,这样就可以手动开启App自定义Label的Trace功能,在非debuggable的版本中也适用!
来源:https://zhuanlan.zhihu.com/p/27331842

相关文章

网友评论

      本文标题:systrace release

      本文链接:https://www.haomeiwen.com/subject/ndsltrtx.html