我想在我的Android应用程序中对一些代码块进行一些性能基准测试.我的计划是在各个点测量System.nanoTime(),然后向Logcat吐出差异.
但是,我想知道对Log.i()本身的调用是否实际上是计算上昂贵的,因此可能会扭曲结果?
在内部我不知道Log.i(…)实际上在做什么 – 它是直接写入USB上的某些输出流还是只是将日志消息放到队列中以便由某个异步线程拾取真正的工作?
解决方法:
它可以让你知道它发生了什么,但它永远不会真正精确.你应该使用android的一个配置文件工具(你可以找到它here). Log.*是完全异步的,但我不知道实现细节