【发布时间】:2016-08-30 19:34:50
【问题描述】:
我今天想出了一个最奇怪的问题,因为我即将发布应用程序。我的问题是,是否有必要从代码中删除所有 print("") 行。它会以某种方式影响应用程序的性能吗?
【问题讨论】:
-
对未来的建议:使用断点操作:)
-
不这样做会有一些性能损失。
我今天想出了一个最奇怪的问题,因为我即将发布应用程序。我的问题是,是否有必要从代码中删除所有 print("") 行。它会以某种方式影响应用程序的性能吗?
【问题讨论】:
是的,您应该删除它们。虽然性能影响可能很小,但它仍然存在。
正如 Marco 指出的那样,最大的问题是您将所有这些 print 声明公开。
如果您记录调试信息,您应该禁用这些 默认情况下消息或在调试级别记录它们。这确保了 您的调试消息不会弄乱您(和您的用户)的日志。
【讨论】:
NSLog 和 print 使用不同的机制。
print??很好奇
print 的实现(看起来它现在已经同步了),但我从未见过详细的讨论。我怀疑您应该删除印刷声明的基本建议是有效的,但是您引用的该文件正在谈论另一种技术,AFAIK。
留下打印的问题是您允许用户读取您的调试数据,因为如果用户读取他/她设备的控制台将读取您的打印行。
如果您转储应用程序的一些重要数据,可能会出现问题,否则如果您只打印Here、Inside 等,则可能不会出现问题。
【讨论】:
您绝对应该在生产之前摆脱所有打印语句。这是一个 IO 操作,肯定会影响性能,主线程会一直等到打印(IO 操作未完成)。您可能希望将一些调试级别的打印转换为记录器。
Here 是另一个讨论它的线程。
【讨论】: