logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

HarmonyOS 7 Window Kit + ArkUI:自由窗口尺寸变化中的断点收敛、独立子窗锚点重算与事件防抖【鸿蒙心迹】

最近我把平板/PC 共用的调试面板改成了独立子窗。需求看起来很简单:主窗口右上角悬着一个,用户拖动主窗口大小时,它始终保持“距右侧 24 vp、距顶部 96 vp”。真正跑到自由窗口里以后,问题马上出来了。拖拽过程中会连续触发,子窗每次都立刻,肉眼能看到抖动;从 MEDIUM 跨到 WIDE 时,页面本身也在重排,子窗又抢着定位,一段尺寸变化可能执行七八次移动。Demo 叫。最终主窗口,断点WID

文章图片
#harmonyos#华为
HarmonyOS 7 Image Kit + Image_NativeModule:动画 WebP 帧级解码中的按帧取样、PixelMap 释放与长列表内存峰值控制【鸿蒙心迹】

本文通过实践解决长列表中动画WebP导致的内存持续攀升问题。核心方案为:按帧解码、仅缓存必要帧、滑动与销毁时主动释放PixelMap。采用FRAME_BY_FRAME模式,结合ImageSource会话管理、DecodingOptions即时释放、PixelMap缓存替换机制,实现峰值内存42MB、累计释放15帧的优化效果。关键在于明确三类资源生命周期:源(ImageSource)、解码选项(De

文章图片
#harmonyos#华为
HarmonyOS 7 + Hvigor-HSP:多 HAP 重复 HAR 的包体审计与迁移门禁【鸿蒙心迹】

本文通过演示工程 PackLens,揭示多模块应用中静态共享包(HAR)重复导致包体膨胀的根源。尽管源码仅一份,但编译后多个 HAP 会各自携带副本,造成冗余。文章提出“先审计、再迁移”策略:基于最终产物解包清单,使用 logicalName + sha256 聚合识别跨模块重复项,设定 1MB 阈值生成可阻断的门禁报告。强调迁移前需评估是否真需转为 HSP——仅当多模块共享且内容含资源/原生库时

文章图片
#harmonyos#华为
HarmonyOS 7 + EasyGo-ArkUI:平行视界双窗草稿的乐观锁与冲突合并【鸿蒙心迹】

平行视界下,双窗编辑易引发并发写入冲突。本文通过TwinDraft演示工程,提出基于字段级三方合并的解决方案:保存时携带草稿ID、base revision及修改字段,仓库以compare-and-set机制判断是否直接提交、自动合并或进入人工确认。通过threeWayMerge算法识别真正冲突字段,保留互不重叠的修改,避免丢失更新。同时强调revision为提交权凭证,必须原子校验,确保状态一致

文章图片
#harmonyos#华为
HarmonyOS 7 NFC Tag + HUKS:精准碰一碰票券的离线验签、单次消费与重放拦截【鸿蒙心迹】

TapPass Lab 实现离线验票核心挑战:确保票券不可复制、防重放。通过固定字段顺序的 canonical payload 保证签名一致性,离线验签依赖预置公钥与严格校验流程,结合单调计数器与唯一 nonce 防重复消费。验签与写账合并为原子事务,利用数据库唯一约束拦截重放,同时处理时钟偏差与公钥轮换,实现安全、可靠、可审计的离线碰一碰体验。

文章图片
#harmonyos#华为
HarmonyOS 7 ArkUI Navigation + Want:平行视界冷启动深链的双栏落位与页面栈去重【鸿蒙心迹】

冷启动时,通知链接触发深链后,因 Want、窗口布局与导航栈状态不同步,导致详情页重复推送。通过将路由解析为不可变意图、引入门禁防重、统一冷热启动入口,并在双栏容器就绪后按 routeKey 幂等落位,解决了页面错位与叠页问题。关键改进包括:拆分三阶段时机判断、组件仅响应协调器状态、基于 widthVp 与 layoutMode 精准分配主/详情栏,确保跨设备、旋转、热重载下行为一致。

文章图片
#harmonyos#华为
到底了