我想知道写入 LogCat 是否会以任何明显的方式影响设备的速度。例如,如果我进行 100 次 Log.d() 方法调用,这会减慢应用程序的速度吗?我无法想象它确实如此,但我只是在确定。
问问题
816 次
1 回答
5
Remdroid 的回答实际上是不正确的。使用大量日志记录会影响您的应用程序的性能。但是,除非您写了很多,否则您可能无法注意到任何实际数量的不同。例如,我偶尔会检测应用程序以在每次遇到系统调用时转储调用日志,这很常见。以这种速度,有大量的事情发生。请记住,写入日志是 IO,并且在某种程度上,它跨越了应用程序的边界并将其写入缓冲区。
请记住,您必须进行大量日志记录才能真正伤害自己。大多数开发人员所做的,如果他们担心这一点,就是制作一个实现日志记录的辅助类。当您想切换到应用程序的生产版本,并且想要摆脱所有调试日志记录时,您可以简单地将转储到日志的方法转换为简单返回的方法。(请注意,即使在没有 JIT 的设备上,这些也会被安全地优化掉,甚至不会调用该函数。)
ps,请记住,任何生产稳定的应用程序都应该关闭调试日志,因为无论如何留下它是不专业的!
于 2012-06-20T02:49:04.443 回答