ロギングがアプリケーションのパフォーマンスを低下させるかどうか知りたいですか? また、Androidアプリケーションのパフォーマンスを向上させるためのヒントを教えてください。ログの書き込みが多すぎるとAndroidアプリケーションのパフォーマンスが低下しますか?
答えて
あなたのアプリケーションの実際のビルドにログを表示しない方が良いでしょう。
は、デバッグを設定することで、Androidのマニフェストでそれをオフにし:
<application android:icon="@drawable/icon"
android:label="@string/app_name"
android:debuggable="false">
を別の方法
独自のロガークラスを作成します。ログを実行する前にモードをデバッグするための
チェックを。これにより、デバッグモードとデプロイされたアプリケーション間のシングルポイント変更が可能になり、ログファイルへの書き込みなどの追加作業が可能になります。さらに詳細については
import android.util.Log;
public class MyLog {
private static final boolean isDebug = false;;
public static void i(String tag, String msg) {
if (isDebug) {
Log.i(tag, msg);
}
}
public static void e(String tag, String msg) {
if (isDebug) {
Log.e(tag, msg);
}
}
}
http://rxwen.blogspot.com/2009/11/logging-in-android.html
とSOのQAを読む:
私の経験では、マニフェストの設定はログには影響しません出力。デバッガがアプリケーションにアタッチできるかどうかを制御するだけです。 – cistearns
**太字**ありがとう –
@cistears debuggable = "false"を設定すると効率が向上しますか? –
使用ログの書き込みの前に声明 'が'。
アプリケーションのリリース時にログを無効にすることができます。
例:過剰で
public class LogTest extends Activity {
private static final String TAG = "YOUR_LOG_TAG_NAME";
private static final boolean mDebug = true;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//--[Start Log example]-----------------------------------------
if(mDebug) Log.d(TAG, "Log Write Test");
//--[End Log example]-----------------------------------------
}
}
任意のテキスト出力でもデスクトップアプリケーションで、アプリケーションが遅くなります。過度のロギングでは処理が遅くなりますが、基本的には非常に多くのデータが送信される必要があります。これはforループまたはwhileループでは難しくありません。ロギング中にバックグラウンドで起こることには、文字列操作、テキストレンダリング、キャッシュ管理、データフィルタリング、ログ長制限などがあります。
最後のアプリからlogcatを削除するには、いくつかの方法があります。特にProGuardに関連するものがあります。 ProGuardは私のためには機能しませんでしたが、sedのようなスクリプトプログラムを含めて、それらを削除する方法については素晴らしいアイデアがたくさんあります。
- 1. 書き込み可能なページのためJITパフォーマンスが低下しますか?
- 2. Cassandraの書き込みパフォーマンスが低い
- 3. PowerShellスクリプトのファイル読み込みのパフォーマンスが低すぎます
- 4. テーブルが多いとパフォーマンスが低下しますか?
- 5. PNGを使用するとAndroidアプリケーションのパフォーマンスが低下しますか?
- 6. C++がサイズ4の書き込み/読み込みが多すぎます
- 7. Try Catchブロックが多すぎるとパフォーマンスが低下しますか?代替ソリューションはありますか?
- 8. ソリューション内のプロジェクトが多すぎるとVisual Studioのパフォーマンスが低下しますか?
- 9. アプリケーションのパフォーマンスが低下する
- 10. MySQLで未知の書き込みが多すぎます
- 11. ehcache設定でmaxElementsInMemoryが大きすぎるとパフォーマンスが低下する
- 12. SQLでレコードセットの数が増えるとアプリケーションのパフォーマンスが低下しますか?
- 13. 書き込み集中型アプリケーションのMongoDBのパフォーマンスが異常に低い
- 14. jQueryのパフォーマンスが低すぎます(トグル)
- 15. Android ViewPagerの読み込みが多すぎます
- 16. Django:多くのシグナルがパフォーマンスを低下させますか?
- 17. AndroidでORMLiteのパフォーマンスが低下していますか?
- 18. ローカルに実行されるWebアプリケーションでは、フォントを読み込むことでパフォーマンスが低下しますか?
- 19. テーブルのパフォーマンスが低下します
- 20. Rails Webアプリケーションでレンダリングされたパーシャルが多くなるとパフォーマンスが低下しますか?
- 21. Windows Phone 7 ListBoxのアイテム数が少なすぎるとListBoxのパフォーマンスが低下しますか?
- 22. レルムネイティブのレルム内でコードを書くと、パフォーマンスが低下しますか?
- 23. RichTextBoxログの書き込みパフォーマンスを改善する方法
- 24. "this->"を使用するとパフォーマンスが低下しますか?
- 25. Railsにログインすると、パフォーマンスが低下しますか?
- 26. Javaクラスをオーバーライドするとパフォーマンスが低下しますか?
- 27. Matlab parfevalを使用するとパフォーマンスが低下しますか?
- 28. Logiaate後にMariaDBの低速ログが書き込まれない
- 29. のMySQL:パフォーマンスの低下が
- 30. 多くのコアでプロセスを実行すると、Pythonのパフォーマンスが低下することがありますか?
ログをデバッグのみに使用する...実際のビルドをアップロードするときにすべてのログメッセージを削除します。 – Krishnabhadra
過度のログはパフォーマンスにはほとんど影響しませんが、一般的にはそうではありません。 (@gt_ebuddy答えのリンクを参照してください)。開発をDDMSに接続すると、アプリの処理速度が遅くなります。 – cistearns
[Log.dとパフォーマンスへの影響]重複している可能性があります(http://stackoverflow.com/questions/3773252/log-d-and-impact-on-performance) – rds