NSLog会影响app的速度吗?

时间:2013-01-30 09:29:07

标签: iphone ios objective-c nslog

  

可能重复:
  Do I need to disable NSLog before release Application?

在我的iPhone应用程序中有超过20个类。每个我使用NSLog打印这么多的值。当我在模拟器上运行我的应用程序时它有点低,因为一些NSLog(特别是打印NSData等)

如果我完成应用程序并在制作ipa文件后在设备上运行它会慢吗? 或者我应该从类中评论所有NSLog?

3 个答案:

答案 0 :(得分:5)

是的,确实如此。如果你想通过自己检查它,用分配进行分析,看看你的记忆是什么。它也将显示NSLog。

答案 1 :(得分:1)

而不是NSLog在任何地方都使用DLog。在测试和调试时,您将获得调试消息。当您准备发布测试版或最终版本时,所有这些DLog行自动变为空并且不会发出任何内容。这样就不需要手动设置变量或评估NSLog。选择构建目标需要处理它。

答案 2 :(得分:0)

NSLog会影响速度,因为阻止会导致IO 。它在当前线程中同步运行。 更好的是异步! - 就像cocoalumberjack的DDLog,它是一个没有阻止的替代品。 [仍然可以导致IO,请参阅有关级别的下一个信息]


ALSO DDLog知道日志级别。例如。信息,警告&错误: 在发布模式下,默认情况下将其设置为错误(但可以通过UserDefault值进行更改!)

警告和信息未被记录,这使得它只会导致非常小的开销


DDLog与 log4j 类似,但对于objC!