Android优化工具之trace

如果我们想要待分析的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的版本中也适用!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、简介 Systrace是Android4.1引入的性能分析工具。利用ftrace,在系统关键位置都有埋点,主要...
    Stan_Z阅读 26,766评论 4 31
  • 一、Systrace概述 Systrace是一个平台提供的工具,可以记录设备活动。它将来自Android内核的数据...
    小村医阅读 4,322评论 0 16
  • systrace的简单使用 1.安装python并配置python环境变量 注意: Systrace.py的使用需...
    taoyyyy阅读 1,622评论 0 2
  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 8,487评论 0 4
  • 公元:2019年11月28日19时42分农历:二零一九年 十一月 初三日 戌时干支:己亥乙亥己巳甲戌当月节气:立冬...
    石放阅读 7,607评论 0 2

友情链接更多精彩内容