每当我尝试使用flutter run
命令测试我的应用程序时,它是如此的滞后和缓慢,我无法确定我的应用程序在发布模式下的性能如何。但是,为了在release mode
android 中构建应用程序,我们需要为应用程序创建一个密钥,它不会显示大多数日志文件和Prints。
所以问题是,有没有办法以发布模式格式运行应用程序但具有调试功能?
每当我尝试使用flutter run
命令测试我的应用程序时,它是如此的滞后和缓慢,我无法确定我的应用程序在发布模式下的性能如何。但是,为了在release mode
android 中构建应用程序,我们需要为应用程序创建一个密钥,它不会显示大多数日志文件和Prints。
所以问题是,有没有办法以发布模式格式运行应用程序但具有调试功能?
简短的回答:
Flutter 中有3种不同的构建模式:
调试 :这是我们经常测试应用程序的最常见模式。如果您使用的是Android Studio,您可以在顶部面板上找到它的按钮(一个绿色的播放按钮)。
flutter run
发布 :此模式用于在市场上部署应用程序。
注意:此模式需要为 android 发布模式生成的密钥。
flutter run --release
配置文件 :这是您正在寻找的模式。在分析模式下,保留了一些调试能力——足以分析你的应用程序的性能,并且它具有发布模式的性能。
flutter run --profile
长答案:
在调试模式下,应用程序设置为在物理设备、模拟器或模拟器上进行调试。
移动应用程序的调试模式意味着:
断言已启用。服务扩展已启用。编译针对快速开发和运行周期进行了优化(但不是针对执行速度、二进制大小或部署)。启用调试,支持源级调试的工具(例如 DevTools)可以连接到进程。
Web 应用程序的调试模式意味着:
构建没有缩小,也没有执行摇树。该应用程序使用 dartdevc 编译器进行编译,以便于调试。
默认情况下,flutter run 编译为调试模式。您的 IDE 支持此模式。例如,Android Studio 提供了一个 Run > Debug... 菜单选项,以及在项目页面上覆盖有一个小三角形的绿色 bug 图标。
当您想要最大程度的优化和最小的占用空间时,使用发布模式来部署应用程序。对于移动设备,发布模式(模拟器或模拟器不支持)意味着:
断言被禁用。调试信息被剥离。调试被禁用。编译针对快速启动、快速执行和小包大小进行了优化。服务扩展被禁用。
Web 应用程序的发布模式意味着:
构建被缩小并执行了摇树。该应用程序使用 dart2js 编译器编译以获得最佳性能。
在配置文件模式下,保留了一些调试能力——足以配置您的应用程序的性能。模拟器和模拟器上禁用配置文件模式,因为它们的行为不代表真实性能。在移动端,profile 模式与 release 模式类似,但有以下区别:
启用了某些服务扩展,例如启用性能覆盖的服务扩展。启用跟踪,支持源级调试的工具(例如 DevTools)可以连接到进程。
Web 应用程序的配置文件模式意味着:
构建未缩小,但已执行摇树。该应用程序是使用 dart2js 编译器编译的。
你可以在这里找到 Flutter 官网的文档:Flutter 的构建模式
在终端中运行此命令:flutter run --release
谢谢