我想知道写入LogCat是否会以任何明显的方式影响设备的速度。例如,如果我进行100次Log.d()方法调用,这会降低应用程序的速度吗? 我无法想象它,但我只是确定。
答案 0 :(得分:5)
Remdroid的答案实际上是不正确的。使用大量日志将影响应用的性能。但是,除非您正在编写整个批次,否则您可能无法注意到任何实际数量的不同。例如,我偶尔会将应用程序设置为在每次打到系统调用时转储调用日志,这很常见。按照这个速度,有大量的东西在继续。请记住,写入日志是IO,并且在某种程度上,它在应用程序的边界上被捕获并写入缓冲区。
请记住,你必须做一个整批的日志来真正伤害自己。 大多数开发人员如果担心这一点,他们会做一个实现日志记录的辅助类。当您想要切换到应用程序的生产版本,并希望摆脱所有调试日志记录时,您只需将方法转换为转储到只返回的方法的日志。 (请注意,即使在没有JIT的设备上,也可以安全地优化这些设备,甚至不会调用该功能。)
请注意,任何生产稳定的应用程序都应该关闭调试注册,因为无论如何都不能保留它!