如何检查Flutter应用程序是否在调试模式下运行?

21 浏览
0 Comments

如何检查Flutter应用程序是否在调试模式下运行?

我正在寻找一种在Flutter应用程序处于调试模式时执行代码的方法。在Flutter中是否有这样的功能?我在文档中似乎找不到。

像这样的东西

If(app.inDebugMode) {
   print("Print only in debug mode");
}

如何检查Flutter应用程序是否在调试或发布模式下运行?

admin 更改状态以发布 2023年5月21日
0
0 Comments

下面是一个简单的解决方案:

import 'package:flutter/foundation.dart';

然后你可以使用 kReleaseMode,像这样:

if(kReleaseMode){ // Is Release Mode??
    print('release mode');
} else {
    print('debug mode');
}

0
0 Comments

在以后的版本中,您可以使用kDebugMode

if (kDebugMode)
  doSomething();


虽然断言可以用于手动创建“是否为调试模式”变量,但应避免这样做。

相反,使用来自package:flutter/foundation.dart的常量kReleaseMode


区别在于摇树优化。

摇树优化(也称编译器删除未使用的代码)取决于变量是常量。

问题在于,使用断言时,我们的isInReleaseMode布尔值不是常量。因此,在发布应用程序时,开发和发布代码都包含在内。

另一方面,kReleaseMode是常量。因此,编译器可以正确地删除未使用的代码,我们可以安全地进行操作:

if (kReleaseMode) {
} else {
  // Will be tree-shaked on release builds.
}

0