首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >“颤振运行”、“颤振生成”、“启动调试”、“不调试运行”等有什么区别?

“颤振运行”、“颤振生成”、“启动调试”、“不调试运行”等有什么区别?
EN

Stack Overflow用户
提问于 2022-07-22 22:22:49
回答 1查看 338关注 0票数 1

我是新来的。有不同的方式来运行您的应用程序颤栗。我想知道这些方式之间有什么区别。我在MacOS上使用代码。

Way 1

Visual > Run ->开始调试(^F5)

(是否有类似于此的命令行?知道它的命令行等效性将有助于使事情变得更清楚。)

Way 2

Visual > Run ->不需要调试就运行(^F5)

(是否有类似于此的命令行?知道它的命令行等效性将有助于使事情变得更清楚。)

Way 3

命令行-> flutter run

(方法2相同吗?)

Way 4

命令行-> flutter run --release (我从未使用过这个命令行,我总是使用Xcode传统方式发布我的应用程序)

Way 5

命令行-> flutter run --profile

(我从来没有使用过这个命令行,是不是很慢?)

Way 6

命令行-> flutter build <target>

(我从来没有使用过这个命令行,是好还是坏?你有建议吗?)

我写代码时从不设置断点..。我总是使用日志技术(print())来开发我的应用程序。

哪条路对我最好?哪个是最快的?专业人士和同事?

谢谢..

EN

回答 1

Stack Overflow用户

发布于 2022-07-22 22:58:03

给定以下颤振构建模式

调试模式意味着:

  • 已启用断言。
  • 启用了服务扩展。
  • 编译是为快速开发和运行周期而优化的(但不适合于执行速度、二进制大小或部署)。
  • 启用了调试,支持源代码级调试的工具(如DevTools)可以连接到进程。
  • 构建不会缩小,树抖动也不会被执行(仅限于web)。
  • 该应用程序是用dartdevc编译器编译的,以便于调试(仅限于web)。

发布模式意味着:

  • 断言被禁用。
  • 排除调试信息。
  • 已禁用调试。
  • 编译是为快速启动、快速执行和小包大小而优化的。
  • 服务扩展被禁用。
  • 构建是小型化的,树抖动已经执行(仅网络)。
  • 该应用程序是用dart2js编译器编译的,以获得最佳性能(仅限于web)。

配置文件模式意味着

  • 启用了一些服务扩展,例如启用性能覆盖的扩展。
  • 启用了跟踪,支持源代码级调试的工具(如DevTools)可以连接到进程。
  • 构建并没有缩小,但是已经执行了树抖动(仅限于web)。
  • 该应用程序是用dart2js编译器编译的(仅限于web)。

因此,要回答这个问题:

  1. Visual Studio --> Run --> Start Debugging(^F5) 它像flutter run一样运行应用程序,但在调试模式下运行。也就是说,如果应用程序到达其中之一,断点将暂停其执行。 此命令行没有等效的命令行。
  2. Visual Studio --> Run --> Run Without Debugging(^F5) 与第一个相同,但断点被忽略。相当于flutter run
  3. command line --> flutter run 和第二张一样
  4. command line --> flutter run --release 这将在发布模式下运行应用程序。也就是说,它会忽略所有的断言(从最终的应用程序中去掉它们),全局vars、kDebugModekReleaseMode分别是falsetrue
  5. command line --> flutter run --profile 这包括构建的应用程序中的性能分析信息。一般来说,它使应用程序比其他选项慢。
  6. command line --> flutter build <target> 为特定的目标平台构建应用程序。在CI环境中使用是很好的。

断点更优越,因为您可以在一个条件下触发它们,甚至在运行时更改值。但他们的混合是相当好的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73086589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档