课程名称:Flutter从入门到进阶 实战携程网App 一网打尽核心技术
课程章节:Flutter进阶拓展:打包发布Flutter应用
课程讲师:CrazyCodeBoy
这一节给出了 Flutter 进行优化的一些建议:
为了进一步进行优化,还需要了解 Flutter 的编译模式,Flutter支持Release、Profile、Debug编译模式。
Flutter提供了profile模式启动应用,进行性能分析,profile模式在Release模式的基础之上,为分析工具提供了少量必要的应用追踪信息。
如果是独立flutter工程可以使用flutter run --profile启动。如果是混合 Flutter 应用,在 flutter/packages/flutter_tools/gradle/flutter.gradle 的 buildModeFor 方法中将 debug 模式改为 profile即可。
Flutter 打包发布 Android 项目的大致流程:
在实际的项目中,还面临多渠道打包的需求,从Flutter v1.17 开始,Flutter命令工具增加了自定义参数的功能 --dart-define,开发者可以用这个命令参数在打包或运行App 时设置参数。这样就能在Flutter代码和原生代码中获取传过来的参数,从而实现多渠道功能。
flutter run --dart-define=APP_CHANNEL=ZeroFlutter
也支持传递多组参数:
flutter run --dart-define=APP_CHANNEL=ZeroFlutter --dart-define=OTHER_VAR=Dart
在Dart 代码中的实现,注意和命令行中的参数保持一致:
class EnvironmentConfig { static const APP_CHANNEL = String.fromEnvironment('APP_CHANNEL'); static const OTHER_VAR = String.fromEnvironment('OTHER_VAR'); }
这一章介绍了Flutter项目的一些常用的优化手段,以及 Flutter 打包项目的发布流程,实现了从项目创建到项目发布的闭环,最后补充了实际开发中比较常用的多渠道打包的相关内容。