OpenHarmony实战开发-页面布局检查器ArkUI Inspector使用指导

DevEco Studio内置ArkUI Inspector工具,开发者可以使用ArkUI Inspector,在DevEco Studio上查看应用在真机上的UI显示效果。利用ArkUI Inspector工具,开发者可以快速定位布局问题或其他UI相关问题,同时也可以观察和了解不同组件之间的布局关系和属性,学习如何通过布局属性来控制组件的显示方式。

使用约束

已通过USB连接设备并在设备上打开需要调试的设备。

仅在应用为debug编译模式时使用。

仅支持OpenHarmony API 9及以上版本的Stage工程。

场景示例

示例代码使用Grid组件来实现网格布局,在子组件Text组件的外层嵌套了3层Stack容器。

@Entry
@Component
struct ArkUIInspectorExample {@State children: Number[] = Array.from(Array(900), (_, k) => k);build() {Scroll() {Grid() {ForEach(this.children, (item: Number) => {GridItem() {Stack() {Stack() {Stack() {Text(item.toString()).border({ width: 2, color: Color.Green })}}}}}, (item: Number) => item.toString())}.columnsTemplate('1fr 1fr 1fr 1fr').columnsGap(0).rowsGap(0).size({ width: "100%", height: "100%" })}}
}

如何使用页面布局检查器

以DevEco Studio 4.0.0.400版本为例,在DevEco Studio菜单栏上单击View > Tool Windows >ArkUI Inspector,或者在DevEco Studio底部工具栏单击ArKUI lnspector

打开ArkUI Inspector工具,如下图所示:
在这里插入图片描述

  1. 进程选择栏,选择已经在设备上打开的应用进程。点击右侧“Refresh”按钮以刷新当前页面快照,请注意,设备需要处于亮屏状态并且应用需要处于前台运行。
  2. 页面组件树区,用于查看组件嵌套状态,当前显示为Text组件。
  3. 页面快照区,点击Text组件后,页面组件列表跳转至选中的Text组件。点击右下角“Pan Screen”按钮以拖移屏幕;点击 、按钮来缩放页面;点击“Zoom to Fit Screen”按钮使页面居中并适应屏幕大小。
  4. 组件详情区,展示当前选中Text组件的属性信息,包括组件的坐标、布局信息(Spacing)、尺寸信息(Size)、边框信息(Border)、背景信息(Background)、蒙版信息(Effect)、所有其他属性(AllAttributes)。如需精准查找单个属性,可通过页面上方搜索栏进行搜索。

问题分析

从页面布局检查器中可以清晰看出,Text组件外部有3层冗余的Stack容器,属于嵌套过多场景。
在这里插入图片描述

代码优化

针对在页面布局检查器中发现的冗余Stack容器问题,在应用代码中删除多余的Stack容器。

@Entry
@Component
struct ArkUIInspectorExample {@State children: Number[] = Array.from(Array(900), (_, k) => k);build() {Scroll() {Grid() {ForEach(this.children, (item: Number) => {GridItem() {Text(item.toString()).border({ width: 2, color: Color.Green })}}, (item: Number) => item.toString())}.columnsTemplate('1fr 1fr 1fr 1fr').columnsGap(0).rowsGap(0).size({ width: "100%", height: "100%" })}}
}

优化结果

布局优化后,使用页面布局检查器可以看到页面上的冗余项已经去除。经过测试,页面滑动时刷新一帧的平均时间比优化前减少1ms。

在这里插入图片描述

如果大家还没有掌握鸿蒙,现在想要在最短的时间里吃透它,我这边特意整理了《鸿蒙语法ArkTS、TypeScript、ArkUI等…视频教程》以及《鸿蒙开发>鸿蒙开发学习手册》(共计890页),希望对大家有所帮助:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

鸿蒙语法ArkTS、TypeScript、ArkUI等…视频教程:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

在这里插入图片描述

OpenHarmony APP开发教程步骤:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

在这里插入图片描述

鸿蒙开发>鸿蒙开发学习手册》:

如何快速入门:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.基本概念
2.构建第一个ArkTS应用
3.……

在这里插入图片描述

开发基础知识:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.应用基础知识
2.配置文件
3.应用数据管理
4.应用安全管理
5.应用隐私保护
6.三方应用调用管控机制
7.资源分类与访问
8.学习ArkTS语言
9.……

在这里插入图片描述

基于ArkTS 开发:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.Ability开发
2.UI开发
3.公共事件与通知
4.窗口管理
5.媒体
6.安全
7.网络与链接
8.电话服务
9.数据管理
10.后台任务(Background Task)管理
11.设备管理
12.设备使用信息统计
13.DFX
14.国际化开发
15.折叠屏系列
16.……

在这里插入图片描述

鸿蒙生态应用开发白皮书V2.0PDF:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

在这里插入图片描述


http://www.ppmy.cn/devtools/18115.html

相关文章

CYCLE:学习自我完善代码生成

目录 IntriductionOverview of the Approach 预训练的代码语言模型在代码生成方面取得了可喜的性能,并提高了人类开发人员的编程效率。然而,现有的代码 LM 评估通常忽略了它们的 自我求精能力,这些评估仅关注一次性预测的准确性。对于代码 L…

PyCharm Professional 安装

文章目录 下载PyCharm 2022.3 Professional使用‘第一种【推荐】’即可记得要是要使用Activation Code激活! 破解方法: https://www.exception.site/essay/pycharm-pojie-jihuoma 下载PyCharm 2022.3 Professional [https://www.jetbrains.com/pycharm/…

Python使用random模块随机生成ip、端口、字符串

import random import stringdef generate_random_ip():ip ".".join(str(random.randint(0,255)) for _ in range(4))return ipdef generate_random_port():port random.randint(0,65535)return portdef generate_random_data(length):# 从字母(大小写&…

新媒体运营-----短视频运营-----PR视频剪辑----软件基础

新媒体运营-----短视频运营-----PR视频剪辑-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/138079659 文章目录 1.1 PR软件重置与初始化设置1.2 新建项目及序列设置1.3 PR工作区的管理方法1.4 导入4K超高清视频并与ME配合工作1…

10 SQL进阶 -- 综合练习题 -- 10道经典SQL题目,配套数据与解答

1. 创建表结构和导入数据 1.1 新建数据库 1.2 执行建表语句 点击下方链接直接下载创建数据表脚本:http://tianchi-media.oss-cn-beijing.aliyuncs.com/dragonball/SQL/create_table.sql 执行建表语句执行成功查看创建的表1.3 导入数据 点击下方链接直接下载插入数据脚本:htt…

keytool证书工具详解(二)

JDK自带的keytool证书工具详解 一、生成证书 keytool -genkey -alias tomcat -keyalg RSA -keystore D:/tomcat.keystore -keypass 123456 -storepass 123456 -dname "CN=xingming,OU=danwei,O=zuzhi,L=shi,ST=sheng,C=CN" keytool -genkey -alias tomcat -keyalg …

AWS云服务器选择哪个区域最好?

AWS每个区域都有特点,并无谁好谁坏的说法。云服务器最佳区域的选择取决于多个因素,包括业务需求、用户位置、数据合规性、延迟需求以及成本等。接下来是AWS的合作伙伴九河云提供的一些考虑因素和建议: (1)业务需求&am…

若依后台管理系统(ruo-web)修改主题色,更改颜色值 (2024-04-22)

1、修改文件 setting.js 2、修改的文件路径 ruoyi-web/src/store/modules/setting.js 3、默认主题颜色 #409EFF,改新的颜色值,刷新就好了 4、修改主题颜色 还可以用户自己更换,但这个更换只是存储在浏览器中,清除缓存之后还是…

CSP初赛知识精讲--线性数据结构

第十五节 线性树形结构 基础知识 线性表 线性表是指由n个具有相同特性的数据元素组成的有限序列,是最基本、最简单,也是最常用的一种数据结构。队列、栈、链表、哈希表等数据结构逻辑上都属于线性表。一般来讲,表中数据之间的关系是一对一的…

【C语言__指针02__复习篇12】

目录 前言 一、数组名的理解 二、使用指针访问数组 三、一维数组传参的本质 四、冒泡排序 五、二级指针 六、指针数组 七、指针数组模拟二维数组 前言 本篇主要讨论以下问题: 1. 数组名通常表示什么,有哪两种例外情况,在例外情况中…

百种提权及手段一览系列第11集

特权升级的危险是显而易见的。通过提升权限,攻击者可以绕过网络安全措施,从而损害数据完整性、机密性和系统可用性。对于组织而言,这可能会导致数据泄露、系统停机以及潜在的法律和声誉后果。识别权限升级的迹象并部署预防性网络安全措施对于…

【论文速读】| 针对红队攻击和防御大模型的攻击提示生成

本次分享论文:Attack Prompt Generation for Red Teaming and Defending Large Language Models 基本信息 原文作者:Boyi Deng, Wenjie Wang, Fuli Feng, Yang Deng, Qifan Wang, Xiangnan He 作者单位:中国科学技术大学、新加坡国立大学、…

JavaEE >> Spring Boot(1)

Spring Boot 前面已经介绍了 Spring ,是为了简化 Java 程序开发的,而在前面创建的过程中就会发现其实 Spring 还是有点复杂,此时 Spring Boot 就诞生了, Spring Boot 是为了简化 Spring 程序开发的。 Spring Boot 即 Spring 脚手…

SCI一区级 | Matlab实现BES-CNN-GRU-Mutilhead-Attention多变量时间序列预测

SCI一区级 | Matlab实现BES-CNN-GRU-Mutilhead-Attention秃鹰算法优化卷积门控循环单元融合多头注意力机制多变量时间序列预测 目录 SCI一区级 | Matlab实现BES-CNN-GRU-Mutilhead-Attention秃鹰算法优化卷积门控循环单元融合多头注意力机制多变量时间序列预测预测效果基本介绍…

离散数学之一阶逻辑基本概念与等值演算思维导图+大纲笔记(期末复习,考研,学习笔记,知识点总结)

大纲笔记 基本概念 一阶逻辑命题符号化 个体词 个体常项 个体变项 个体域 个体总域 谓词 谓词常项 谓词变项 零元谓词 特性谓词 引入规则 量词 全称量词 存在量词 一阶逻辑1公式及解释 基本概念 原子公式 谓词公式 自由变元与约束变元 自由变元 换名规则 约束变元 带入规则 闭…

用 VMare Workstation 搭建 esxi --- (一)创建 exsi 虚拟机

用 VMare Workstation 搭建 esxi 文章目录 用 VMare Workstation 搭建 esxi创建虚拟机 创建虚拟机

科技论文网站:中国科技论文在线

文章目录 1. Intro2. Main3. Cons Evaluation彩蛋:科学素质 这是作者最后一次发 这种类型的宣传 科普文章 1. Intro 中国科技论文在线是经教育部批准,由教育部科技发展中心主办, 利用现代信息技术手段,打破传统出版物的概念&…

Linux线程池

目录 1.模型样貌 2.代码模拟 1.模型样貌 2.代码模拟 pthread_pool.hpp 里面有很有多余的打印,就是因为59行初始化和60行是一样的,没有初始化_cond,所以就一直拍错,展示就保存下来吧,提醒自己! Task.hpp main.cc 运行…

k8s部署Eureka集群

部署有状态负载 镜像配置: 环境变量如下: AUTHENTICATE_ENABLEtrue JAVA_OPTS-Dauth.userName账号 -Dauth.password密码 MY_POD_NAMEmetadata.name BOOL_REGISTERtrue BOOL_FETCHtrue APPLICATION_NAME负载名称 EUREKA_INSTANCE_HOSTNAME${MY_POD_NA…

Spring-AOP

文章目录 1.基本介绍1.什么是AOP?2.示意图3.五种通知 2.AOP快速入门1.入门案例1.导入jar包2.Cal.java 接口3.CalImpl.java 实现类4.CalAspect.java 切面类5.beans06.xml 开启注解功能6.测试 2.细节说明3.AOP理解(重点)1.使用场景2.代理对象理…