美文网首页
15.0.flutter-性能测试工具Observatory

15.0.flutter-性能测试工具Observatory

作者: ChaosHeart | 来源:发表于2022-09-01 08:52 被阅读0次

Flutter运行模式

1、Debug

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

2、Release

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

3、Profile

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

4、test

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

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

不管是移动开发还是前端开发,对于性能问题分析的思路都是先分析并定位问题,Flutter也不例外,借助Flutter 提供的度量性能工具,我们可以快速定位代码中的性能问题,而性能图层就是帮助我们确认问题影响范围的利器,它类似Android的图层分析工具。

为了使用性能图层,Flutter提供了分析(Profile)模式,与调试代码可以通过模拟器在调试模式下找到代码逻辑 Bug 不同,性能问题需要在发布模式下使用真机进行检测。相比发布(Release)模式而言,调试模式增加了很多额外的检查(比如断言),这些检查可能会耗费很多资源;更重要的是,调试模式使用 JIT (即时编译)模式运行应用,代码执行效率较低。这就使得调试模式运行的应用,无法真实反映出它的性能问题。

而另一方面,模拟器使用的指令集为 x86,而真机使用的指令集是 ARM,由于这两种方式的二进制代码执行行为完全不同,因此模拟器与真机的性能差异较大。一些 x86 指令集擅长的操作模拟器会比真机快,而另一些操作则会比真机慢,这也使得我们无法使用模拟器来评估真机才能出现的性能问题。

为了调试性能问题,我们需要在发布模式的基础之上,为分析工具提供少量必要的应用追踪信息,这就是分析模式。除了一些调试性能问题必须的追踪方法之外,Flutter 应用的分析模式和发布模式的编译和运行是类似的,只是启动参数变成了 profile 而已。我们可以在 Android Studio 中通过菜单栏点击 【Run】-【Profile 】‘main.dart’ 选项启动应用,也可以通过命令行参数 flutter run --profile 运行 Flutter 应用。

Flutter性能测试工具Observatory

(1)运行项目

flutter run --profile
截屏2022-02-09 10.39.35.png
截屏2022-02-09 10.39.17.png

(2)点击链接
http://127.0.0.1:60796/Fbb4XgLYNis=/

(3)进入性能测试工具Observatory


截屏2022-02-09 10.41.27.png

参考:

https://www.cnblogs.com/wwoo/p/flutter-xing-neng-jian-ce-gong-ju-jie-shao.html
https://zhuanlan.zhihu.com/p/120734866

相关文章

  • 15.0.flutter-性能测试工具Observatory

    Flutter运行模式 1、Debug Debug模式可以在真机和模拟器上同时运行,此模式会打开所有的断言,包括d...

  • (转)Flutter性能监控工具(3)--- Observato

    Flutter性能监控工具(1)--- Observatory简介主要讲了如何打开Observatory,现在讲一...

  • 测试类型划分

    功能测试 性能测试 性能测试主要包含以下方面: 性能测试指标 性能测试常用工具 安全测试 安全测试常用工具 安全测...

  • Redis_测试性能

    redis-benchmark是一个压力测试工具,官方自带的性能测试工具!redis性能测试工具可选参数如下所示:...

  • apache-ab并发负载压力测试

    ab 介绍 apache ab(Apache Bench)性能测试工具,这是[apache]免费自带的性能测试工具...

  • 做好性能测试,应该需掌握些什么

    1、精通性能测试的一些基本:概念、过程、方法论、性能工程等.. 2、精通性能测试工具:商业性测试工具也好,开源性能...

  • 性能测试学习日记一

    首先理解理念,再学习工具; 性能测试流程 完整的性能测试流程包括以下几点:性能需求获取、性能测试场景设计、性能测试...

  • 常见性能测试工具

    性能测试工具,从理论上来讲在性能测试过程中使用到的所有工具都可以称其为性能测试工具,通常分为以下几类: 说明: 服...

  • 做好性能测试,你要掌握这些东西

    1.精通性能测试的基本概念,过程,方法论,了解性能工程; 2.精通1个商业性能测试工具+1个开源性能测试工具,知道...

  • Golang Notes

    测试 Test 代码测试 Benchmark 性能测试 性能数据分析 测试代码 命令行操作 工具 Graphviz...

网友评论

      本文标题:15.0.flutter-性能测试工具Observatory

      本文链接:https://www.haomeiwen.com/subject/iwlwkrtx.html