アプリがデバッグ モードのときに Flutter でコードを実行する方法を探しています。Flutter でそれが可能でしょうか? ドキュメントのどこにも見つからないようです。
このようなもの
If(app.inDebugMode) {
print("Print only in debug mode");
}
Flutter アプリケーションがデバッグ モードまたはリリース モードで実行されているかどうかを確認するにはどうすればよいですか?
ベストアンサー1
それ以降のバージョンでは、以下を使用できますkDebugMode
。
if (kDebugMode)
doSomething();
アサートは技術的には「デバッグ モード」変数を手動で作成するために使用できますが、これを避ける必要があります。
kReleaseMode
代わりに、定数package:flutter/foundation.dart
違いは木の揺れにあります。
ツリー シェイキング (つまり、未使用のコードを削除するコンパイラ) は、変数が定数であることに依存します。
問題は、アサートではisInReleaseMode
ブール値が定数ではないことです。そのため、アプリを出荷するときには、開発コードとリリースコードの両方が含まれます。
一方、は定数kReleaseMode
です。したがって、コンパイラは未使用のコードを正しく削除することができ、安全に次の操作を実行できます。
if (kReleaseMode) {
} else {
// Will be tree-shaked on release builds.
}