2016-08-30 61 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是另外一個討論它的主題。