鸿蒙开发:了解布局分析ArkUI Inspector

简介: ArkUI Inspector,知名其意,就是UI检查,它可以让开发者在DevEco Studio中快速的查看一个应用在模拟器或者真机上的UI显示效果,并且可以通过查看多次操作后的界面状态,来快速的分析定位UI界面存在的问题。

前言


本文基于DevEco Studio 5.0.5 Release


之前的文章讲述过测试工具DevEco Testing,提到过里面有一个功能,页面DOM树获取,可以分析某一款应用的UI布局结构,便于我们查找UI界面存在的问题,当时感到惊叹不已,但是使用它,还需要进行下载,两个多G,如果说仅仅为了UI布局分析,确实有点大材小用,其实,同样的功能,DevEco Studio已经为我们提供了,本文就带着大家一起了解一下,布局分析利器,ArkUI Inspector。


什么是ArkUI Inspector


ArkUI Inspector,知名其意,就是UI检查,它可以让开发者在DevEco Studio中快速的查看一个应用在模拟器或者真机上的UI显示效果,并且可以通过查看多次操作后的界面状态,来快速的分析定位UI界面存在的问题。


功能入口


入口在DevEco Studio中的底部一行菜单中,如下图所示:



快速使用


点击底部的ArkUI Inspector选项之后,可以在设备应用列表中,选择当前显示在设备前端的UI进程,需要注意的是,你的手机或者模拟器必须在线状态下,并且应用也已经启动。



点击需要检查应用的进程,就可以查看到当前置于前台的页面。



左侧组件Dom数结构


左侧的区域,就可以看到当前页面布局的页面名字和组件使用信息,针对页面中的层级,可以说是一览无余。



切换页面


当你切换了页面,可以通过刷新按钮来更新视图,点击之后,页面会自动切换,方便我们快速的分析不同页面的层级结构。


同步更改


在左侧点击组件或者在UI界面上点击视图,都可以同步进行选择,比如下面,我在左侧选中了Image组件,那么UI界面中也会选择图片视图,同样,你在界面中点击视图,左侧也会同步变动。



右侧组件属性信息


在左侧或者中间的界面选择一个组件后,在右侧就会展示出这个组件的所有属性信息,比如宽高,xy坐标,背景,margin,padding等等所有的属性信息,方便我们针对当前的UI布局做细化分析。



显示组件树节点信息


如果你想要在左侧查看当前的组件节点信息,你可以勾选组件树信息的配置项Show Tree Statistics进行打开。



打开之后,在左侧的组件悬停一会,便可以查看了。


UI界面快照


如果你的设备未在线状态下,也就是没有模拟器或者真机,ArkUI Inspector也支持导出及导入应用UI界面快照,脱离设备查看应用UI界面显示效果。



箭头往右的图标,可以将应用UI界面快照导出到本地,箭头往左的图标可以导入本地的应用UI界面快照。


导出的快照是.arkli文件,如下效果:



有了快照,你就可以通过往左的箭头图标,选择本地的快照进行查看了,它是直接在IDE中打开的,和在底部设备查看是一模一样的。



UI组件源码跳转


这个功能就厉害了,你可以通过ArkUI Inspector左侧的UI组件信息,双击直接进入到当前的组件代码位置,但是,需要开启这个功能。


点击要运行的模块之处,点击第一个Edit Configurations,如下图所示:



把“Enable DebugLine”进行勾选,开启源码跳转功能,点击OK保存后,需要重新运行工程。



这样就实现了源码跳转功能,如下图所示,双击左侧的组件,便可以直达它的源码之处,并且会被边框选中,非常的方便。



相关总结


目前ArkUI Inspector有一定局限性,首先仅支持运行在前台的应用,也就说,如果你的应用未启动,未在前台,那么进程是无法选择的,也就不能查看UI视图,以上的条件也就意味着,仅支持全屏应用或者焦点在前台的窗口,并且呢,也仅支持Stage工程的项目,由于是UI视图分析,那么同样也不支持应用市场上架的商用签名应用。


总之来说,对于我们分析UI界面存在的问题,边距啊,层级结构啊等等,ArkUI Inspector还是有着非常大的方便的。


本文标签:鸿蒙开发工具/DevEco Studio


相关文章
|
29天前
|
开发者
鸿蒙开发:资讯项目实战之项目初始化搭建
目前来说,我们的资讯项目只是往前迈了很小的一步,仅仅实现了项目创建,步虽小,但概念性的知识很多,这也是这个项目的初衷,让大家不仅仅可以掌握日常的技术开发,也能让大家理解实际的项目开发知识。
鸿蒙开发:资讯项目实战之项目初始化搭建
|
23天前
|
缓存 JavaScript IDE
鸿蒙开发:基于最新API,如何实现组件化运行
手动只是让大家了解切换的原理,在实际开发中,可不推荐手动,下篇文章,我们将通过脚本或者插件,快速实现组件化模块之间的切换,实现独立运行,敬请期待!
鸿蒙开发:基于最新API,如何实现组件化运行
|
1月前
|
SQL 弹性计算 数据库
鸿蒙5开发宝藏案例分享---优化应用时延问题
鸿蒙性能优化指南来了!从UI渲染到数据库操作,6大实战案例助你提升应用流畅度。布局层级优化、数据加载并发、数据库查询提速、相机资源延迟释放、手势识别灵敏调整及转场动画精调,全面覆盖性能痛点。附赠性能自检清单,帮助开发者高效定位问题,让应用运行如飞!来自华为官方文档的精华内容,建议收藏并反复研读,共同探讨更多优化技巧。
|
1月前
|
缓存
鸿蒙5开发宝藏案例分享---Swiper组件性能优化实战
本文分享了鸿蒙系统中Swiper组件的性能优化技巧,包括:1) 使用`LazyForEach`替代`ForEach`实现懒加载,显著降低内存占用;2) 通过`cachedCount`精准控制缓存数量,平衡流畅度与内存消耗;3) 利用`onAnimationStart`在抛滑时提前加载资源,提升构建效率;4) 添加`@Reusable`装饰器复用组件实例,减少创建开销。实际应用后,图库页帧率从45fps提升至58fps,效果显著。适合处理复杂列表或轮播场景,欢迎交流经验!
|
1月前
|
存储 C++ UED
鸿蒙5开发宝藏案例分享---优化应用包体积大小问题
本文分享了鸿蒙应用包体积优化的实用技巧,包括SO库压缩、HSP动态共享包、OHPM依赖冲突解决、按需加载和扫描工具定位优化点等方法。通过具体配置示例和实战经验,如启用`compressNativeLibs`、使用共享资源包、强制统一依赖版本以及动态导入功能模块,帮助开发者显著减少包体积,提升用户体验。文中还提供了图标优化、资源混淆和无用代码剔除等补充建议,助力打造更轻量的鸿蒙应用。
|
1月前
|
数据挖掘 开发者 索引
鸿蒙5开发宝藏案例分享---Grid性能优化案例
本文深入探讨了鸿蒙系统中Grid组件性能优化的实战技巧,针对Grid加载慢、滚动卡顿的问题,提出用GridLayoutOptions替代columnStart/columnEnd的方法。通过预定义不规则项索引,将位置计算复杂度从O(n)降至O(1),大幅提升性能(如scrollToIndex耗时从447ms降至12ms)。文章结合代码示例与Profiler数据分析,总结最佳实践,帮助开发者优化应用流畅度。
|
缓存 开发者 容器
鸿蒙5开发宝藏案例分享---瀑布流优化实战分享
本文基于鸿蒙官方瀑布流优化案例,分享了瀑布流性能优化的实战经验。分析了导致卡顿的三大原因:一次性渲染、动态高度与组件重建,并提供了四大优化方案——懒加载+缓存池、组件复用、动态预加载及固定高度计算。通过实测对比,优化后内存占用降低至98MB,滑动FPS提升至60帧。最后总结避坑指南,帮助开发者解决图片加载、布局嵌套和视频处理等常见问题,实现流畅体验。
|
移动开发 Ubuntu 网络协议
嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令(中)
嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令
300 1
嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令(中)
|
XML Web App开发 开发框架
鸿蒙开发入门 | 开发第一个鸿蒙应用+页面跳转
准备好鸿蒙开发环境后,接下来就需要创建鸿蒙项目,掌握项目的创建过程以及配置。项目创建好后,需要把项目运行在模拟器上,鸿蒙的模拟和安卓模拟器有些不同,鸿蒙提供远程模拟器和本地模拟器,通过登录华为账号登录在线模拟器,使用DevEco Studio可将项目部署到远程模拟器中。
1501 1
鸿蒙开发入门 | 开发第一个鸿蒙应用+页面跳转
|
存储 Ubuntu 前端开发
嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令(下)
嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令
478 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令(下)