logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

HarmonyOS Native C++ + libarchive:离线资源包解压的路径穿越防护与配额熔断【鸿蒙心迹】

本文介绍 HarmonyOS Native C++ 工具 ArchiveGuard,针对离线资源包解压安全问题,提出四步防护机制:先扫描元数据再写入,避免边读边写导致的不可回滚;通过词法规范化严格校验路径,拒绝绝对路径与父级回退;基于展开体积、条目数等多维度配额熔断,防溢出与资源耗尽;将扫描器封装为独立 Native 对象,保障主线程不阻塞。演示中 18.4MB 包因声明展开体积超限被阻断,替换后

文章图片
#harmonyos#c++#华为
HarmonyOS ArkTS + Display Kit:半折叠态折痕区域的命中规避与布局回流【鸿蒙心迹】

本文以 CreaseSafe 演示项目为例,揭示半折叠设备上按钮点击失效的根源:交互组件误入动态折痕区域。通过监听 foldStatusChange 事件并实时读取系统返回的折痕矩形(单位为 px),转换为 ArkUI 可用的 vp 值,构建安全区。采用事件合并机制(80ms 尾部延迟提交)避免频繁重排,确保布局稳定。强调需区分折叠状态、显示模式与折痕几何,避免静态布局假设,并在页面销毁时正确释放

文章图片
#harmonyos#华为
HarmonyOS 7 HiDebug + Memory Profiler 实战:从内存上涨到 Native/GPU 泄漏定位

页面反复进出导致内存上涨200MB,非GC问题,实为Native与GPU资源泄漏。排查发现ArkTS Heap稳定,但Native和Graphics内存持续增长,根源在于图片对象、缓冲区及解码器未释放。结合HiDebug工具拆分内存明细,定位到资源未及时回收。建议按“整体趋势→分层明细→快照对比→代码定位”流程排查,避免仅依赖JS堆分析,重视Native、GPU、线程与FD等隐蔽泄漏点。

文章图片
#harmonyos
HarmonyOS 7 Window Kit + UIAbility 实战:应用内分屏、多窗口与状态隔离设计

多窗口适配本质是架构重构,非简单布局调整。单窗口思维下全局状态、导航栈共享,导致分屏时数据串扰、布局错乱。真正多窗口需每个窗口独立实例,拥有自己的页面栈与状态。关键在于区分“应用级”与“窗口级”状态,隔离局部数据,释放窗口销毁资源,并全面测试不同分屏比例及折叠屏切换场景。唯有打破单实例惯性,才能实现稳定可靠的多窗口体验。

文章图片
#harmonyos
到底了