Flutter的四种运行模式:Debug、Release、Profile和test / Qt: Debug, Profile和Release三种构建模式

Flutter 的构建模式选择  https://docs.flutter.cn/testing/build-modes/   

Flutter的四种运行模式:Debug、Release、Profile和test 

  https://blog.csdn.net/yumi0629/article/details/81909051 

Debug

Debug模式可以在真机和模拟器上同时运行:会打开所有的断言,包括debugging信息、debugger aids(比如observatory)和服务扩展。优化了快速develop/run循环,但是没有优化执行速度、二进制大小和部署。命令flutter run就是以这种模式运行的,通过sky/tools/gn --android或者sky/tools/gn --ios来build。有时候也被叫做“checked模式”或者“slow模式”。

Release

Release模式只能在真机上运行,不能在模拟器上运行:会关闭所有断言和debugging信息,关闭所有debugger工具。优化了快速启动、快速执行和减小包体积。禁用所有的debugging aids和服务扩展。这个模式是为了部署给最终的用户使用。命令flutter run --release就是以这种模式运行的,通过sky/tools/gn --android --runtime-mode=release或者sky/tools/gn --ios --runtime-mode=release来build。

Profile

Profile模式只能在真机上运行,不能在模拟器上运行:基本和Release模式一致,除了启用了服务扩展和tracing,以及一些为了最低限度支持tracing运行的东西(比如可以连接observatory到进程)。
命令flutter run --profile就是以这种模式运行的,通过sky/tools/gn --android --runtime-mode=profile或者sky/tools/gn --ios --runtime-mode=profile```来build。因为模拟器不能代表真实场景,所以不能在模拟器上运行。

test

headless test模式只能在桌面上运行:基本和Debug模式一致,除了是headless的而且你能在桌面运行。命令flutter test就是以这种模式运行的,通过sky/tools/gn来build。

在我们实际开发中,应该用到上面所说的四种模式又各自分为两种:一种是未优化的模式,供开发人员调试使用;一种是优化过的模式,供最终的开发人员使用。默认情况下是未优化模式,如果要开启优化模式,build的时候在命令行后面添加--unoptimized参数。

原文链接:https://blog.csdn.net/yumi0629/article/details/81909051


Debug, Profile和Release三种构建模式之间的区别

  https://qt-note.readthedocs.io/zh-cn/latest/qt_creator/the_three_build_configurations.html 

在Qt Creator中创建一个项目之后,默认情况下,每个构建套件都有三种构建配置:Debug,Profile和Release,这三种构建配置之间的区别是什么呢?

    Debug通常称为调试版本,它包含了调试信息,并且不作任何优化,便于程序员调试程序;

    Release称为发布版本,它往往是进行了各种优化,使得程序大小和运行速度上都是最优的,以便用户很好地使用;

    Profile is Release-with-debug-symbols

        This option produce realize build(with all compiler optimization) but with debug symbols(pdb files) that are required for testing performance of C++.

    Profile版本是一种介于Debug和Release之间的版本,只要用来进行性能测试。

    Profile版本进行了各种优化,但是又包含调试符号。

警告

需要注意的是,如果程序中用到了其它的函数库,函数库也分为Debug版和Release版,Debug版和Release版是不能混合使用的。

    编译Debug版的程序,需要使用Debug版本的函数库,不能使用Release版本的函数库;
    编译Release版的程序,需要使用Release版的函数库,不能使用Debug版本的函数库。

最好将Debug版和Release版,分开存放在不同的文件夹内。

  https://www.cnblogs.com/pivotfuture/p/16297341.html 

官方对Profile的描述是:Profile是介于Debug和Release中间的一种配置。具体是什么意思呢?下表描述了三种配置的区别:

配置类型特点
Debug带调试信息,编译时不做优化。
Profile带调试信息,编译时做一定优化。
Release一般不带调试信息,可以根据优化选项做不同程度的优化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值