flutter - 如何检查 Flutter 应用程序是否正在调试中运行?

我正在寻找一种在应用程序处于 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/

相关文章:

java - Flutter 应用程序体积太大

image - Flutter 网络图像不适合圆形头像

dart - 如何在 flutter 中使用 url 编码的主体发出 HTTP POST 请求?

dart - 如何使用 Flutter 在 iOS 和 Android 上共享图像?

function - 如何在 Dart/Flutter 中使用另一个文件的函数?

json - 如何在 Flutter 中解码 JSON?

flutter - 未找到 Material 小部件

json - 主体上带有 Json 的 HTTP POST - Flutter/Dart

android - 如何在 Flutter 中格式化日期时间

gridview - 如何在 Flutter 的 GridView 中为 Widget 设置自定义高