摘要: 设计思路 网络请求框架的设计目标是简化 HTTP 请求的发送和响应处理过程。为了实现这一目标,我们定义了几个核心组件: IHttpRequest: 定义了发送 HTTP 请求的基本操作,如设置 URL、请求头、请求参数等。 IHttpListener: 定义了 HTTP 请求完成后的回调方法,用于处 阅读全文
posted @ 2024-04-17 16:00 西北野狼 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 背景介绍 用户界面(UI)布局是应用程序中至关重要的部分,它不仅影响应用的外观和用户体验,还直接影响应用的性能。不合理的布局可能会导致过度的布局计算和界面嵌套,从而增加渲染和计算的开销,导致性能下降。 常用布局方式 HarmonyOS的ArkUI框架提供了多种布局方式,包括线性布局(Row/Colu 阅读全文
posted @ 2024-04-17 15:51 西北野狼 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 如何合理使用动效来获得更好的性能 组件转场动画使用 transition: 推荐使用转场动画(transition)而不是组件动画(animateTo),因为 transition 只需要在条件改变时更新一次,而 animateTo 需要在动画前后做两次属性更新,导致性能开销更大。 反例:通过改变透 阅读全文
posted @ 2024-04-17 15:47 西北野狼 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 概述 如何在HarmonyOS应用中实现一个可拖拽的列表组件,通过这个组件,用户可以拖动列表中的项并将其放置在新的位置,实现列表的动态排序。 核心功能 列表初始化:创建并填充列表数据。 拖拽交互:实现列表项的拖拽功能,包括拖拽开始、移动和结束。 位置交换:在拖拽结束时交换列表项的位置。 代码实现 1 阅读全文
posted @ 2024-04-08 22:25 西北野狼 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 新建 Module 注意名字最好是小写命名 oh-package.json5 修改 description 描述信息 在 Index.ets 导出对外暴露的组件 export{ TitleBar } from'./src/main/ets/view/TitleBar' 编译生成 har 包 生成公钥 阅读全文
posted @ 2024-04-01 20:42 西北野狼 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 作用: TaskPool(任务池)和 Worker 都为应用程序提供多线程运行环境,用于处理耗时的计算任务或其他密集型任务,避免阻塞主线程,提高系统性能。 实现特点对比: 内存模型:TaskPool 和 Worker 都提供线程间隔离,内存不共享。 参数传递机制:两者都采用结构化克隆算法进行序列化、 阅读全文
posted @ 2024-04-01 20:40 西北野狼 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 概念介绍 在 OpenHarmony 中,UI 线程负责处理 UI 事件和用户交互,而 Worker 线程用于处理耗时操作,以提高应用程序的响应速度和用户体验。 Worker 线程是与主线程并行的独立线程,通常用于执行后台任务。需要注意的是,Worker 线程中不能直接修改 UI 元素,UI 更新必 阅读全文
posted @ 2024-04-01 20:36 西北野狼 阅读(4) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2023-03-08 22:34 西北野狼 阅读(4) 评论(0) 推荐(0) 编辑
摘要: flutter中单例的写法 class AccountManager { factory AccountManager() => _instance ??= AccountManager._(); /// 销毁单例 static void destroyInstance() => _instance 阅读全文
posted @ 2023-03-05 22:52 西北野狼 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 事件处理流程 Flutter 事件处理流程主要分两步,为了聚焦核心流程,我们以用户触摸事件为例来说明: 命中测试:当手指按下时,触发 PointerDownEvent 事件,按照深度优先遍历当前渲染(render object)树,对每一个渲染对象进行“命中测试”(hit test),如果命中测试通 阅读全文
posted @ 2023-02-18 14:12 西北野狼 阅读(87) 评论(0) 推荐(0) 编辑