
简介
鸿蒙开发工程师 开源社区、技术分享者 中国科学院大学项目管理硕士
擅长的技术栈
可提供的服务
暂无可提供的服务
本文揭示了 ArkTS 异步任务泄漏的真正根源:并非“闭包循环引用”,而是协程挂起导致栈帧保留,形成 FrameRoot 锚定。传统“断引用”修复法无效,因栈帧整体被锚定,局部变量无法回收。正确路径是识别根类型——尤其关注 async/await 引起的函数不退栈,通过让协程正常结束来释放栈帧。核心在于:泄漏的本质是“函数未退栈”,而非“对象有环”。

本文揭示了在ArkUI中嵌套Web组件时出现的滚动边界问题——如滑动断档、惯性撞墙、回弹叠加——其根源并非配置失误,而是框架与渲染引擎间缺乏滚动协调协议。两个互不通信的滚动世界(ArkUI容器与Web引擎)导致手势归属混乱。通过分析三种解法:消除嵌套(FIT_CONTENT)、控制权移交(nestedScrollMode)、统一偏移量派发,指出最优方案是从源头避免冲突,即让Web内容自适应高度,彻

在鸿蒙开发中,BindSheet组件可用于创建半模态窗口,通过设置合适的属性和添加动画效果,能够实现具有转场效果的半模态窗口。以下是详细的实现步骤和示例代码。

Base64编码是一种将二进制数据转换为ASCII字符的技术,用于确保数据在网络传输时的完整性。Base64编码通过将每3个字节的数据转换为4个6位的字符,并对不足的数据进行补零处理,使用特定字符集进行编码。编码完成后,如果数据长度不是24位的倍数,会用"="进行填充。解码过程则是编码的逆过程。许多编程语言如Python、Java和JavaScript都提供了内置的Base64编码和解码方法。ba
有一定经验的开发者通常对文件管理相关的api应用或者底层逻辑都比较熟悉,但是关于文件管理服务的设计背景和设计目标可能了解得不那么清楚,本文旨在分享文件管理服务的设计背景及目标,方便广大开发者更好地理解鸿蒙系统文件管理服务。 1 鸿蒙系统 文件管理设计背景 随着移动终端设备的崛起, 很多用户不只有一台设备,且随着云空间的出现,单纯地
在HarmonyOS开发里,if/else条件渲染和取反操作(常借助三元运算符)都能根据不同情况设置组件属性值。下面从多个维度分析如何选择,以及各自的利弊,并附上代码示例。

ArkTS 开发中,把公钥转换为十六进制和 Base64 编码数据的功能,以下是参考代码。
Worker支持通过PostMessage往父线程抛任务。TaskPool支持通过sendData往父线程发消息,触发任务。
问题 :A持有B,B引用A的场景会不会导致内存泄漏?答案 :方舟虚拟机的内存管理和GC采用的是根可达算法,根可达算法可以解决循环引用问题,不会导致A引用B,B引用A的内存泄漏。根可达算法以一系列被称为 “根对象”(如栈中的局部变量、静态变量等)作为起始点,从这些根对象开始向下搜索,能够被搜索到的对象被认为是可达对象,而那些无法被搜索到的对象则被判定为不可达对象,会在垃圾回收时被清理。所以,即使存在

在 HarmonyOS 开发中,如果你提到的“使用Record”指的是 TypeScript 里的Record类型工具,并且想要将一种类型的属性映射到另一种类型,下面会结合具体示例详细介绍操作方法。









