有一些混淆在何时使用print
和debugPrint
,因此存在一些可能是错误的陈述,需要澄清:
当使用直接的
print
方法时,它会带来很多垃圾到生产中,不是吗?当使用
debugPrint
方法时,它只会在开发过程中打印,还是在生产中也会打印?当我生成发布文件(apk)时,它不会删除所有的
print
调用以优化应用程序并减小发布文件大小,是吗?
有一些混淆在何时使用print
和debugPrint
,因此存在一些可能是错误的陈述,需要澄清:
当使用直接的print
方法时,它会带来很多垃圾到生产中,不是吗?
当使用debugPrint
方法时,它只会在开发过程中打印,还是在生产中也会打印?
当我生成发布文件(apk)时,它不会删除所有的print
调用以优化应用程序并减小发布文件大小,是吗?
flutter logs
,您将在手机/模拟器上看到所有已安装应用程序的打印函数输出。这意味着即使应用程序处于发布模式,它仍将在终端中打印出来。debugPrint
通常用于避免每个操作系统的打印限制,如果使用默认的debugPrintThrottled
回调。它也会在生产环境中打印,但您可以自定义它仅在开发模式下工作。import "package:flutter/foundation.dart"; //allows to use kReleaseMode
void main() {
if (kReleaseMode) {
debugPrint = (String? message, {int? wrapWidth}) {};
}
}
debugPrint
语句时,由于您给该函数传递了一个空回调函数,它将不会打印到控制台。
if (kReleaseMode) { debugPrint = (String? message, { int? wrapWidth }) {}; }
- most200