未使用的日志记录语句会影响Android应用的性能吗

时间:2015-02-06 11:56:45

标签: java android performance debugging logging

这个问题看起来像是某人之前可能会问过的问题,但经过网上搜索,特别是 SO 之后,我还没有找到这个具体问题的答案,但很多其他模糊的问题相关的。

所以我正在开发我的Android应用程序,并添加了大量非常详细的 VERBOSE 日志消息 - Log.v(),仅供我自己学习。这些可能会被删除,因为他们现在只是训练轮子,我很想知道一切如何运行。

根据我的想法,我已经了解了像C ++这样的静态编译语言,您可以在其中为预处理器指定日志级别或调试等的某些标志,您可以生成具有不同日志级别的同一应用程序的多个二进制文件因此,运行速度。因此,您可以获得典型的 debug release 二进制文件,当然还有其他一些差异。

对于Java,特别是Android,我看到我可以在应用程序运行时更改日志级别,因为我在Intellij(或Eclipse等)中观察输出。

核心问题:有人知道在应用(VERBOSEDEBUG,可能INFO)中保留更详细的日志记录语句是否仍会阻碍性能即使日志过滤器设置为低FATALERRORWARN甚至关闭?

我可以做一些性能测试并找出答案,但我觉得这个通用的问题可能有助于知道,而无需手动尝试。对健康伐木感兴趣的其他开发者可能想知道。

这对我很重要,因为我不想删除大量的日志消息,我已经在代码框架中添加了这些消息,只是为了不影响运行时速度。如果未使用的日志记录语句没有性能影响,也许我不必这样做。

0 个答案:

没有答案