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

标签 iphone objective-c ios cocoa-touch nslog

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

最佳答案

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

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

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

关于iphone - 在控制台/文件中打印日志语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7155186/

相关文章:

iphone - 使 UITableView 可按索引滚动

iphone - 使用 iOS 获取 Facebook 新闻提要?

android - 移动设备使用 PGP 会不会太过分了?

ios - 当我点击 UISearchBar 时,它会转到 View 的顶部

objective-c - NSScroller 图形故障/滞后

ios - 自定义单元格和 dequeueCellWithIdentifier 中的 UIGestureRecognizer 冲突

ios - Apple ID 无法登录。错误 : Couldn’t communicate with a helper application. Xcode 7.1

iphone - UITextView 输入 View

objective-c - Cocoa 监视文件的修改

ios - 通过 AWS SNS 移动推送最小延迟一次性广播 500K 推送通知的最佳策略是什么?