我正在寻找一种在应用程序处于 Debug模式时在 Flutter 中执行代码的方法。这在 Flutter 中可行吗?我似乎在文档中的任何地方都找不到它。
类似的东西
If(app.inDebugMode) {
print("Print only in debug mode");
}
如何检查 Flutter 应用程序是在 Debug模式还是 Release模式下运行?
最佳答案
在以后的版本中,可以使用kDebugMode
:
if (kDebugMode)
doSomething();
虽然断言在技术上可用于手动创建“处于 Debug模式”的变量,但您应该避免这样做。
改为使用 package:flutter/foundation.dart
kReleaseMode
区别在于摇树。
Tree Shaking(即编译器删除未使用的代码)取决于变量是否为常量。
问题是,我们的 isInReleaseMode
bool 值断言 不是 常量。因此,在发布我们的应用程序时,开发和发布代码都包含在内。
另一方面,kReleaseMode
是一个常数。因此编译器能够正确地删除未使用的代码,我们可以安全地这样做:
if (kReleaseMode) {
} else {
// Will be tree-shaked on release builds.
}
https://stackoverflow.com/questions/49707028/