2016-08-30 7 views
4

私はすぐにアプリケーションをリリースしようとして以来、私は今日思いついた奇妙な質問があります。私の質問は、print("")であるコードからすべての行を削除する必要があるということです。何とかアプリのパフォーマンスや何かに影響を与えますか?コードからプリントラインを削除する

+1

今後の提案:ブレークポイントのアクションを使用してください:) – vadian

+0

そうしないとパフォーマンスが低下します。 – picciano

答えて

1

はい、削除する必要があります。パフォーマンスの影響は最小限に抑えられますが、それはまだあります。

Marcoが指摘したように、最大​​の問題は、すべてのそれらのprintステートメントを公開することです。

Statement from Apple

デバッグ情報をログする場合は、デフォルトではこれらの のメッセージを無効にするか、デバッグレベルでそれらをログに記録しなければならないのいずれか。これにより、 のデバッグメッセージによって、(ユーザーの)ログが乱雑にならないようになります。

+0

'NSLog'と' print'は異なるメカニズムを使います。 – Rob

+0

@Rob ah gotcha。彼らが 'print'をどのように扱うかを記述する便利なリンクを持っていますか?好奇心が見える – random

+1

私の指先ではありません。私はWWDC 2014でその区別を議論していることを覚えていますが、現在は参照がありません。私は彼らが 'print'実装を微調整したと思っています(今は同期しているように見えますが)。詳細な議論は見たことがありません。私はあなたの基本的な助言は、印刷文を削除する必要がありますが有効だが、あなたが参照しているドキュメントは、別の技術、AFAIKについて話していると思われる。 – Rob

1

印刷物を残すという問題は、ユーザーが自分のデバイスのコンソールを読んで印刷ラインを読むと、デバッグデータを読むことができるということです。

アプリの重要なデータをダンプすると問題が発生する可能性があります。それ以外の場合はHereInsideなどを印刷しても問題はありません。

1

生産前にすべての印刷ステートメントを削除する必要があります。これは間違いなくパフォーマンスに影響を与えるIO操作です。メインスレッドはprint(IO操作が完了していない)まで待機します。いくつかのデバッグレベルのプリントをロガーに変換したいかもしれません。

Hereは、もう1つのスレッドです。

関連する問題