1. Flutter 的线程

平台线程

即主线程,plugin 代码运行在此线程。具体请参阅 Android 的 MainThread 以及 iOS 的 UIKit 文档。

UI 线程

UI 线程在 Dart VM 中执行 Dart 代码。当应用创建和展示场景的时候,UI 线程首先建立一个 图层树(layer tree) ,一个包含设备无关的渲染命令的轻量对象,并将图层树发送到 GPU 线程来渲染到设备上。

Raster 线程

raster 线程拿到 layer tree,并将它交给 GPU(图形处理单元)。图形库 Skia 在该线程运行,并在性能图层的最顶栏显示该线程。

I/O 线程

执行昂贵的操作(常见的有 I/O)以避免阻塞 UI 或者 raster 线程。这个线程将不会显示在 performance overlay 上。

2. 性能图表

打开 inspector 并单击 Performance Overlay 按钮即可显示性能图层。

命令行使用 P 参数切换性能图层。

定位 UI 图表

如果性能图层的 UI 图表显示红色,就要从分析 Dart VM 开始着手了,即使 GPU 图表同样显示红色。

定位 GPU 图表

检查 widget 的重建。debug 模式下可打开 stuidio 的性能工具窗口,可查看widget 的 rebuild 信息。

黄色的表示重载次数过多,灰色转圈的表示已重载,灰色不转圈的表示未重载。

原文地址:http://www.cnblogs.com/lemos/p/16899996.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性