我有一个简短的问题.我正在寻找一种方法,以执行代码在Flutter 时,应用程序是在调试模式.在"Flutter 翼"中可以这样做吗?我似乎在文档里的任何地方都找不到它.
像这样的
If(app.inDebugMode) {
print("Print only in debug mode");
}
如何判断Flutter 应用程序是否在调试或发布模式下运行?
我有一个简短的问题.我正在寻找一种方法,以执行代码在Flutter 时,应用程序是在调试模式.在"Flutter 翼"中可以这样做吗?我似乎在文档里的任何地方都找不到它.
像这样的
If(app.inDebugMode) {
print("Print only in debug mode");
}
如何判断Flutter 应用程序是否在调试或发布模式下运行?
虽然这是可行的,但最好使用常量kReleaseMode
或kDebugMode
.有关完整的解释,请参见下面的Rémi's answer,这可能是公认的问题.
最简单的方法是使用assert
,因为它只在调试模式下运行.
下面是一个来自Flatter的Navigator源代码的示例:
assert(() {
if (navigator == null && !nullOk) {
throw new FlutterError(
'Navigator operation requested with a context that does not include a Navigator.\n'
'The context used to push or pop routes from the Navigator must be that of a '
'widget that is a descendant of a Navigator widget.'
);
}
return true;
}());
特别要注意的是,call-assert末尾的()
只能对布尔值进行操作,因此仅仅传入函数是不起作用的.