likes
comments
collection
share

Flutter_UME功能介绍

作者站长头像
站长
· 阅读数 4

接下来几天会详细的介绍Flutter_UME的实现, 今天先简单来介绍一下项目背景和主要功能

UME是由字节跳动开发的应用内调试工具,主要为了解决在开发中离开IDE后调试难的问题,内部集成了丰富的调试小工具,设计UI、网络、监控、性能、logger等,另外还可以自定义工具,十分方便。

1.Widget信息展示

Flutter_UME功能介绍

主要是通过ReaderObject和WidgetInspectorService中的getSelectedSummaryWidget来获取的

2.Widget层级展示

Flutter_UME功能介绍

通过InspectorSelection获取currentElement, 然后获取整个build链

3.showCode

Flutter_UME功能介绍

获取当前页面widget所属文件名,根据dart脚本的文件名来找到并读取脚本

4.内存查看

Flutter_UME功能介绍

想要拿到VM内存就必须依赖DartVM,通过vm_service就可以拿到内存信息,并通过getAllocationProfile获取分配对象信息,通过members属性来获取到每个class所占用的堆信息

5.对齐标尺

Flutter_UME功能介绍

通过手势改变Positioned,吸附是通过globalKey获取当前页面的renderObject,然后获取所有子节点,经过计算得来的

6.颜色吸管

Flutter_UME功能介绍

放大图片是用BackdropFilter, 获取像素及颜色值是用RepaintBoundary然后获取编码过的Uint32色值,再经过转换得来的

7.网络调试

Flutter_UME功能介绍

通过插装hook实现

8.Logger

Flutter_UME功能介绍

这个也是通过hook实现

9.帧数检测

Flutter_UME功能介绍

10.设备信息

Flutter_UME功能介绍

11.CPU

目前只有安卓可以使用,先不介绍了