微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何估计Android中的方法CPU时间?

如何解决如何估计Android中的方法CPU时间?

我知道这里有很多听起来相似的问题,但我已经看过很多问题,但我没有找到明确的答案,如果我想做什么是可能的。

我有一个应用程序,它使用 OpenCV 实时处理来自相机的图像。处理由几个步骤组成,包含在单独的方法中,如过滤、阈值处理等。我想估计每种方法使用的 cpu 时间,以估计它们的能耗。我知道我可以做类似的事情

public long filter(Mat input) { 
   long time = System.elapsedRealtime();
   
   ...

   return System.elapsedRealtime() - time;
}
   

获取每个方法调用的执行时间,但我认为因为我想将其与能耗相关联,所以它不够精确。有没有办法获得当前进程的总 cpu 时间? (我知道在 Android Studio 的 Energy Profiler 中我可以跟踪方法cpu 时间,但我想知道这是否可以在运行时以编程方式实现)

解决方法

您是否正在寻找这样的东西:

public long filter(Mat input) { 
   long start = System.nanoTime();
   
   // code you're measuring goes here

   long duration = System.nanoTime() - start;
   // log this duration somehow?

   return result;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。