我想知道写入LogCat是否会以任何明显的方式影响设备的速度。例如,如果我进行100次Log.d()方法调用,这会减慢应用程序的运行速度吗?我无法想象它会这样,但我只是想确定一下。
发布于 2012-06-20 10:49:04
Remdroid的答案实际上是不正确的。使用大量日志记录会影响应用程序的性能。然而,你可能不会注意到任何真正的不同之处,除非你写了很多东西。例如,我偶尔会在应用程序每次命中系统调用时检测它们的调用日志,这是相当常见的。以这样的速度,有大量的东西在运行。请记住,写入日志就是IO,在某种程度上,它会跨应用程序边界获取并写入缓冲区。
记住,你必须做大量的日志记录才能真正伤害到你自己。如果大多数开发人员担心这一点,那么他们所做的就是创建一个实现日志记录的辅助类。当您想要切换到应用程序的生产版本,并且想要摆脱所有的调试日志时,您可以简单地将转储为日志的方法转换为简单返回的方法。(请注意,即使在没有JIT的设备上,这些函数也会被安全地优化掉,甚至不会调用该函数。)
另外,请记住,任何稳定生产的应用程序都应该关闭调试日志,因为把它留在里面是不专业的!
https://stackoverflow.com/questions/11112138
复制相似问题