2011-08-23 142 views
2

我只想確認使用NSLog語句在控制檯上打印日誌是否會減慢應用程序的速度?另外,如果不是在控制檯上登錄,而是將它們記錄在文件中,它的行爲方式是否會相同。在控制檯/文件中打印日誌語句

回答

5

是的,打印許多日誌行到代碼的內部循環中的控制檯,特別是通過USB調試器連接,會稍微減慢執行速度。 (USB I/O可能會阻止應用程序的立場)。

至於記錄文件是否更快,iOS會採用NSLog語句,並將它們過濾到設備的整個控制檯日誌中,以便它們已經前往磁盤,但可能會更加智能地緩衝,因爲發生在生產系統上。

無論你是否應該記錄到一個文件,這取決於你的目標。如果您正在設備上進行計時,只需在計時的同時取出日誌。如果您在計時時需要日誌數據,請考慮在操作期間緩衝內存中的一堆日誌字符串,然後將其刷新到某處。

+1

神話般的答案,確實涵蓋了很多的理由。 –

相關問題