在开发时调试应用的一种快速方法是编写如下语句:
print($data)
是否有一种方法可以在切换到生产模式时停止打印,从而不会影响应用程序的性能?
例如布尔值作为开关?
答案 0 :(得分:3)
您可以使用debugPrint
代替print
进行仅开发人员的日志记录
debugPrint(data)
debugPrint
实现可以在环境之间进行更改。例如,在您的主目录中,您可以执行以下操作:
void main() {
bool isInRelease = true;
assert(() { isInRelease = false; return true }());
if (isInRelease) {
debugPrint = (String message, { int wrapWidth }) {}
}
}
这将用发布中不执行任何操作的方式替换debugPrint
的实现
答案 1 :(得分:2)
https://docs.flutter.io/flutter/foundation/debugPrint.html将允许这样做。
文档没有告诉您是否以生产模式打印,但是您可以运行其他main()
来为debugPrint
分配无操作功能。
另一种方法是使用How do I build different versions of my Flutter app for qa/dev/prod?或断言把戏Does Flutter remove debug-mode code when compiling for release?覆盖debugPrint