在 Android 中测量执行时间的最佳方法?

新手上路,请多包涵

测量 Android 代码片段执行时间的最佳方法是什么?

我有一段代码前后我想放置时间戳以找出它的执行时间(例如 onCreate() 中的一个和 onDestroy() 活动方法中的另一个)。

我试过 Time.toMillies(false) ,但它只返回秒数给我(最后是常量 000 )。我还尝试了两个 java 函数: System.currentTimeMillis()System.nanoTime() 。第一个返回纪元时间的毫秒数,第二个不返回。

测量执行时间并获得良好精度的最佳方法是什么?

原文由 22332112 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 536
1 个回答

计时记录器 呢?

来自 TimingLogger 文档:

 TimingLogger timings = new TimingLogger(YOUR_TAG, "methodA");
// ... do some work A ...
timings.addSplit("work A");
// ... do some work B ...
timings.addSplit("work B");
// ... do some work C ...
timings.addSplit("work C");
timings.dumpToLog();

转储看起来像:

      D/TAG     (3459): methodA: begin
     D/TAG     (3459): methodA:      9 ms, work A
     D/TAG     (3459): methodA:      1 ms, work B
     D/TAG     (3459): methodA:      6 ms, work C
     D/TAG     (3459): methodA: end, 16 ms

不要忘记通过运行来启用您的标签: adb shell setprop log.tag.YOUR_TAG VERBOSE

原文由 MikeL 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题