【问题标题】:Deleting print lines from code从代码中删除打印行
【发布时间】:2016-08-30 19:34:50
【问题描述】:

我今天想出了一个最奇怪的问题,因为我即将发布应用程序。我的问题是,是否有必要从代码中删除所有 print("") 行。它会以某种方式影响应用程序的性能吗?

【问题讨论】:

  • 对未来的建议:使用断点操作:)
  • 不这样做会有一些性能损失。

标签: ios swift


【解决方案1】:

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

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

Statement from Apple

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

【讨论】:

  • NSLogprint 使用不同的机制。
  • @Rob 啊,明白了。碰巧有一个方便的链接描述他们如何处理print??很好奇
  • 触手可及。我记得 WWDC 2014 中讨论的区别,但现在看不到参考。我相信他们调整了print 的实现(看起来它现在已经同步了),但我从未见过详细的讨论。我怀疑您应该删除印刷声明的基本建议是有效的,但是您引用的该文件正在谈论另一种技术,AFAIK。
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

    Here 是另一个讨论它的线程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-23
      • 1970-01-01
      • 2021-03-24
      • 1970-01-01
      相关资源
      最近更新 更多