Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 如何在代码中区分颤振中的调试模式和释放模式?_Dart_Flutter - Fatal编程技术网

Dart 如何在代码中区分颤振中的调试模式和释放模式?

Dart 如何在代码中区分颤振中的调试模式和释放模式?,dart,flutter,Dart,Flutter,我只想在发布模式下有一些功能,而不是在调试模式下。要克服它需要更长的时间,在开发过程中仅仅评论它不是一个好主意。由于在进行发布构建时总是有可能忘记它。通过导入颤振/foundation.dart,此检查可使用顶级常量: 这比断言更好,因为它适用于树震动 这对我很有效。 声明如下所示的函数 bool get isInDebugMode { bool inDebugMode = false; assert(inDebugMode = true); return inDebugMode;

我只想在发布模式下有一些功能,而不是在调试模式下。要克服它需要更长的时间,在开发过程中仅仅评论它不是一个好主意。由于在进行发布构建时总是有可能忘记它。

通过导入
颤振/foundation.dart
,此检查可使用顶级常量:

这比断言更好,因为它适用于树震动

这对我很有效。 声明如下所示的函数

bool get isInDebugMode {
  bool inDebugMode = false;
  assert(inDebugMode = true);
  return inDebugMode;
}
现在您可以像这样使用它:

if(isInDebugMode) {
    print('Debug');
} else {
    print('Release');
}

======================================================================== 您也可以使用@Rémi Rousselet给出的:

首先导入包:

import 'package:flutter/foundation.dart';
然后像这样使用
kReleaseMode

if(kReleaseMode) { // is in Release Mode ?
    print('Release');
} else {
    print('Debug');
}

明白你说的树抖动是什么意思吗?编译器将删除未使用的代码。因此,如果您正在执行
if(kReleaseMode){}else{}
,那么编译器知道
else
将永远不会执行,因此将其删除。