android记录器是否在主线程上运行?

时间:2018-02-13 03:38:49

标签: android performance logging

Android记录器是否在主线程上运行?如果是这样,记录大条目是否会对呈现UI产生性能影响?

1 个答案:

答案 0 :(得分:1)

您的第一个问题的答案取决于您从哪里调用日志,是的,它也在主线程上运行。您可以将日志放在任何您想要的位置。

由于它在您的控制台中打印日志,因此肯定会影响您的应用性能

以下是docs的示例:

Log.v(TAG, "index=" + i);
  

不要忘记当你构建一个字符串以传递给Log.d时,当你进行调用时,编译器使用StringBuilder并且至少发生三次分配:StringBuilder本身,缓冲区和字符串对象。实际上,还有另一个缓冲区分配和复制,对gc的压力更大。这意味着如果您的日志消息被过滤掉,那么您可能正在进行大量工作并产生大量开销。

阅读Docs