1. 调试模式
在 Debug 模式下,app 可以被安装在物理设备、仿真器或者模拟器上进行调试。Debug 模式意味着:
- 断点是开启的。
- 服务扩展是开启的。
- 针对快速开发和运行周期进行了编译优化(但不是针对执行速度、二进制文件大小或者部署)。
- 调试开启,类似开发者工具等调试工具可以连接到进程里。
在 Web 平台下的调试模式意味着:
- 本次构建 没有 最小化资源并且整个构建 没有 优化性能。
- 为了简化调试,这个 Web 应用使用了 dartdevc 编译器。
默认情况下,运行 flutter run 会使用 Debug 模式。你的 IDE 也支持这些模式。例如,Android Studio 提供了 Run > Debug… 菜单选项,而且在项目面板中还有一个三角形的绿色运行按钮图标(菜单选项中会显示相应图标的图片)。
备忘
- 热重载功能仅能在调试模式下运行;
- 仿真器和模拟器仅能在调试模式下运行;
- 在调试模型下,应用的性能可能会掉帧或者卡顿, profile 模式下会更接近真机性能。
2. Release 模式
当你想要最大的优化以及最小的占用空间时,就使用 Release 模式来部署 app 吧。 release 模式是不支持模拟器或者仿真器的,使用 Release 模式意味着:
- 断点是不可用的。
- 调试信息是不可见的。
- 调试是禁用的。
- 编译针对快速启动、快速执行和小的 package 的大小进行了优化。
- 服务扩展是禁用的。
在 Web 平台的 Release 模式意味着:
- 这次构建资源已经被压缩,并且性能得以优化。
- 这个 Web 应用通过 dart2js 编译器构建,以确保更优秀的性能。
flutter run --release 命令会使用 Release 模式来进行编译。你的 IDE 同样也支持这个模式。例如,Android Studio 提供了 Run > Run… 菜单选项,而且在项目面板中还有一个被小三角覆盖的绿色虫子图标。(菜单选项中会显示相应图标的图片)
你可以使用 flutter build <target> 针对特定目标编译 release 模式。请使用 flutter help build 查看支持的目标列表。
你也可以通过 flutter build --release 命令来使用 release 模式。
你也可以运行 flutter build 命令使用 Release 模式来编译。更多详细信息,可以参阅发布 iOS 和 Android app 的文档。
3. Profile 模式
在 profile 模式下,一些调试能力是被保留的—足够分析你的 app 性能。在仿真器和模拟器上,Profile 模式是不可用的,因为他们的行为不能代表真实的性能。 profile 模式和 release 类似,但有以下不同:
- 一些服务扩展是启用的。例如,支持 performance overlay。
- Tracing 是启用的,一些调试工具,比如开发者工具可以连接到进程里。
在 Web 平台的 Profile 模式意味着:
- 资源文件没有被压缩,但是整体性能已经优化
- 这个 Web 应用通过 dart2js 编译器构建
flutter run --profile 命令是使用 Profile 模式来编译的。你的 IDE 也是支持这个模式的。例如,Android Studio 提供了 Run > Profile… 菜单选项。
深蓝互联成立于2013年,是一家物联网硬件开发及软件应用服务商,获得多次获得国家高新技术企业资质的企业。深蓝互联专注软硬件技术开发的专业性技术公司。我们从事软硬件开发十年,擅长SaaS 平台开发、APP小程序开发、软硬件结合开发,在视觉识别处理、数据架构、云计算、多线程高并发和集群、数据安全加密和防护方便有很深的技术积累。
我们拥有专业优秀的设计和技术团队,以极具创意的 UI 设计、精湛卓越的开发技术,专业的网络策划团队。公司多年来投入打造物联网SaaS平台,集成了公司研发的多款智能物联网终端(智能鲜米机、生鲜售货机、自助洗车机、小区电瓶车充电系统等)。
公司一直坚持以研发为导向,打造软硬件结合的物联网平台系统。将一直坚持提高开发的技术实力更好的为我们的客户服务!
文章来自深蓝互联http://www.szdbi.com/WEBkaifajishu/310.html转载请注明出处!