在控制台/文件中打印日志语句

时间:2011-08-23 00:44:04

标签: iphone objective-c ios cocoa-touch nslog

我只想确认是否使用NSLog语句在控制台上打印日志会降低应用程序的速度?此外,如果不是登录控制台而是将其记录在文件中,它是否会以相同的方式运行。

1 个答案:

答案 0 :(得分:5)

是的,在代码的内部循环中将许多日志行打印到控制台,尤其是在USB调试器连接中,会稍微降低执行速度。 (从应用程序的角度来看,USB I / O可能会阻塞。)

关于是否更快地记录到文件,iOS会使用NSLog语句并将它们过滤到设备的整体控制台日志中,因此它们已经转向磁盘,但这可能更智能地缓存,因为这发生在生产系统上。

您是否应该登录文件,这取决于您的目标。如果您正在设备上进行计时,只需在计时时取出记录。如果您在计时时需要日志数据,请考虑在操作期间缓冲内存中的一堆日志字符串,然后在某处将其刷新。