作为开发时调试应用程序的一种快速方式,编写如下语句:

print($data)

有没有办法在切换到生产模式时停止打印,这样就不会影响应用程序的性能?

例如,将布尔值作为switch ?

推荐答案

您可以使用debugPrint而不是print来进行仅适用于开发人员的日志(log)记录

debugPrint(data)

debugPrint实现可以在不同的环境之间进行改变.例如,在您的Main中,您可以执行以下操作:

void main() {
  bool isInRelease = true;

  assert(() { isInRelease = false; return true; }());

  if (isInRelease) {
    debugPrint = (String? message, { int? wrapWidth }) {};
  }
}

这将用发行版中什么也不做的东西替换debugPrint的实现

Dart相关问答推荐

Dart 3.3接口字段类型升级不起作用

什么相当于 dart 中的 JAVA ThreadLocal?

如何在flutter中管理switch小部件的原生外观

如何使用 http 库捕获 SocketException?

Flutter Web:无法用鼠标向下滚动(drag)(Flutter 2.5+)

zsh:找不到命令:pub

FlutterError (setState() 在 dispose() 之后调用:(生命周期状态:defunct,not mounted)

如何在 Dart 中等待单元测试中的异步设置?

将 Flutter 前端与 Android 和 iOS 的 .NET Core 后端相结合

为http POST请求从Flutter上的TextFormField捕获数据

Google Dart支持mixins吗?

为什么 Dart 内置的 List 接口可以实例化?

如何在 Flutter 中使用 Provider 显示来自 ChangeNotifier 的错误

在Flutter 中使用 import 'dart:html' - 我需要额外的依赖项吗?

Opa vs Dart vs Haxe vs CoffeeScript

dart 中隐式转换运算符的语法是什么?

如何在 Dart 中尚不存在的目录 struct 中创建文件?

具有 Maps 的 Null 感知运算符

Dart 会支持服务器端开发吗?

如何将多个 Stream 合并为更高级别的 Stream?