2016-08-30 59 views
4

因为我即将发布应用程序,所以我今天想到了最古怪的问题。我的问题是,是否有必要删除print("")代码中的所有行。它以某种方式影响应用程序的性能或什么?从代码中删除打印行

+1

对未来的建议:使用断点动作:) – vadian

+0

不这样做会有一些性能损失。 – picciano

回答

1

是的,你应该删除它们。虽然性能影响可能很小,但它仍然存在。

正如Marco指出的那样,最大的问题是您将所有这些print声明公开。

Statement from Apple

如果你登录调试信息,您应该在默认情况下禁用这些 消息或在调试级记录它们。这确保您的调试消息不会混淆您的(和您的用户)日志。

+0

'NSLog'和'print'使用不同的机制。 – Rob

+0

@Rob啊gotcha。发生有一个方便的链接,描述他们如何处理'打印'?好奇地看到 – random

+1

不在我的指尖。我记得WWDC 2014中讨论的区别,但现在没有看到参考资料。我相信他们调整了“print”实现(看起来它现在已经同步),但我从来没有看到过详细的讨论。我怀疑你应该删除打印报表的基本建议是有效的,但你引用的那个文件正在谈论一种不同的技术,AFAIK。 – Rob

1

离开打印机的问题是,您允许用户读取您的调试数据,因为如果用户阅读他/她的设备的控制台将会读取您的打印行。

如果你转储你的应用程序的一些重要数据可能是一个问题,否则,如果你只打印HereInside等可能不会有问题。

1

您应该在生产前摆脱所有打印语句。这是一个肯定会导致性能影响的IO操作,主线程将等待打印(IO操作未完成)。您可能想要将某些调试级别的打印转换为记录器。

Here是另外一个讨论它的主题。