我只是想确认使用 NSLog 语句在控制台上打印日志是否会减慢应用程序的速度?另外,如果我不登录控制台而是将它们记录在文件中,它的行为方式是否相同。
最佳答案
是的,在代码的内部循环中将许多日志行打印到控制台,尤其是通过 USB 调试器连接,会在一定程度上减慢执行速度。 (从应用程序的角度来看,USB I/O 可能会被阻塞)。
至于记录到文件是否更快,iOS 采用 NSLog
语句,并将它们过滤到设备的整体控制台日志中,因此它们已经进入磁盘,但这可能是缓冲更智能,因为这发生在生产系统上。
是否应该记录到文件,这取决于您的目标。如果您在设备上进行计时,只需在计时时取出记录即可。如果您在计时时需要日志数据,请考虑在操作期间在内存中缓冲一堆日志字符串,然后将它们刷新到某个地方。
关于iphone - 在控制台/文件中打印日志语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7155186/