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

问题描述 投票:2回答:1

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

iphone objective-c ios cocoa-touch nslog
1个回答
5
投票

是的,在代码的内部循环中向控制台打印许多日志行,尤其是通过USB调试器连接时,会在一定程度上降低执行速度。 (从应用程序的角度来看,USB I / O可能被阻止)。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.