登录社区云,与社区用户共同成长
邀请您加入社区
用症状归属表与录制清单避免只录主进程而漏掉 WebView Render 或 Extension 进程。
把过度绘制颜色、重绘区域和场景帧时间放在同一证据链中,避免只凭截图删布局。
这篇讲了长列表性能优化的核心手段:LazyForEach、@Reusable、细粒度数据更新和图片优化。LazyForEach + @Reusable 是黄金组合,缺一不可。数据更新用 onDataAdd/Delete/Change,别全量刷新。key 必须唯一,别用 index。
把逻辑调用、物理落盘、线程与单次延迟放到同一时间窗,避免用字节数替代等待时间。
按前台、后台和运动状态动态分配传感器采样,避免精度与续航互相拖垮。
用视锥可见集、分块优先级和内存水位设计大场景 3DGS 的加载与回收。
围绕游戏快启建立可复现性能验证方案,覆盖环境指纹、分位数、资源护栏、故障注入与灰度判定。
用帧预算、长任务与滚动阶段关联,区分 JavaScript、布局、绘制和桥接造成的掉帧。
把导航、首屏、可交互和业务数据完成拆开测量,避免只用 onPageEnd 判断 Web 体验。
从全量创建的反常现象出发,解释 LazyCustomLayoutAlgorithm 如何避免错误展开全部子节点。
按 API 起始版本区分快启能力,设计状态新鲜度、快照命中与可交互时间的启动实验。
ReusableV2动态回调返回值从组件名回退变成真实复用标识。用池碎片与跨组件ID碰撞两个案例,区分数据身份、结构身份和复用契约。
API26 Release改变了超大图片未设置autoResize时的行为。用像素门槛、RGBA估算与双场景代码,区分文件体积和解码内存,并给放大查看保留明确的风险边界。
从日志追加和切换流式会话两个案例解释 API 26 段落缓存:保留 MutableStyledString 对象,区分增量与全量数据,拒绝旧会话和重复分片,并设计可复核的性能对照实验。
把沉浸光感从视觉开关改造成可测量的 GPU 预算,说明列表、弹窗和低功耗场景如何分级降级。
围绕 HarmonyOS 7 空间音频节点组合,拆解采集格式、降噪与美化、变声、空间渲染、路由切换、时延和资源释放。
围绕 HarmonyOS 7 沉浸光感效果,拆解能力检测、光随指动、描边、非线性形变、手势采样、深浅色适配与性能降级。
围绕 HarmonyOS 7 FAST Kit perfHint 的生命周期边界,拆解 BEGIN/END、SceneType 与线程集合不对齐时的失效原因,并给出两个可复现案例、代码和验收清单。
围绕 API 26 应用性能排查,给出从场景复现、指标采集、Trace 定位到回归验收的完整闭环,避免只盯平均 FPS。
围绕 Core File Kit mmap 文件映射,拆解适用边界、页对齐、窗口化映射、生命周期、并发一致性、异常降级与性能验证。
围绕大数据量自定义布局,拆解可视区计算、索引估算、按需测量、稳定Key、尺寸缓存与失效重算。
通过场景识别、需求合并、迟滞控制、能力映射和效果反馈,建立兼顾流畅度与功耗的帧率治理体系。
围绕弱网直播建立指标采集、网络评估、迟滞决策、参数切换、异常恢复和效果校正的质量治理闭环。
围绕冷启动首个网络请求,拆解目标筛选、连接预建、预算控制、安全校验和连接复用的工程方法。
从启动关键路径、任务分级、资源预热、延迟加载和可观测性出发,建立游戏快启的工程封装方案。
手势会拦截组件默认行为。给组件加了gesture可能影响其默认手势(如列表的滚动)。需要时用让手势优先,或用并行。拖动注意坐标累积。PanGesture的是单次增量,要累加到@State上。直接赋值会跳动不跟手。组合手势用对模式。并行、顺序、互斥三种模式语义完全不同,用错模式手势会互相冲突,出现"怎么都不触发"或"同时触发"的奇怪现象。触摸和手势别叠加混用。同一组件既用onTouch又用gestu
属性动画管的是"值怎么变",转场动画管的是"组件怎么出现、怎么消失"。元素插入界面、删除界面、页面之间切换,都需要转场来避免生硬的瞬间跳变。ArkUI 的转场分两类:组件转场(组件出现和消失)和页面转场(页面之间切换)。
静态界面能用,但缺了动画的过渡会显得生硬。ArkUI 提供了从简单到复杂的动画能力:属性动画、显式动画、路径动画,以及组件内置动画。这篇把常用动画类型讲清楚。
RCP 的 connectOnly 只提前建连接,不下载首屏资源。对照两个可复现排查场景:预热域名与真实请求不同、预热与取图使用不同 Session;给出预热目标筛选、时序验证和不适用边界。附本地规则测试,未声称 API 26 真机测速。
区分数据生命周期再选型。页面内临时数据用@State,组件树内共享用@Provide@Consume,全局共享用AppStorage,要持久化再加。别所有数据都往 AppStorage 里塞。的 key 要统一管理。持久化 key 散落各处容易冲突,建议集中定义常量。同步引用时注意 type。的类型要和声明一致,类型对不上会有隐式转换问题。持久化数据只存可序列化的。存的是可序列化数据,函数、回调、
资讯流、商品列表、聊天记录、通讯录,几乎每个应用都有列表。ArkUI 里列表用ListListItem构建,网格用GridGridItem,但真正决定性能的是懒加载机制。
ArkUI 的系统组件就是界面里的"零件"——文本框、图片、按钮、输入框、单选框、进度条这些。把它们组合起来,就拼出一个完整页面。这系列先讲最常用的几类:文本、图片、按钮、输入框,以及承载它们的通用属性。
围绕 HarmonyOS 7 LTPO 可变帧率方向,拆解场景意图、可见性、交互强度、滞回切换、冲突合并、生命周期与功耗验证。
围绕 HarmonyOS 7 游戏快启方向,拆解启动关键路径、最小资源集、首帧与可交互定义、任务依赖、延迟初始化和降级验证。
List / Grid 是几乎所有 App 的主骨架。当数据上千条、且每个 ListItem 结构复杂(图片、富文本、嵌套布局)时,简单的 ForEach 会遇到两个致命问题:频繁创建销毁组件节点导致滚动掉帧、以及状态错乱(复用后旧数据没清空)。ArkUI 提供 @Reusable 装饰器 + aboutToReuse 生命周期,把「组件节点池化复用」这件事标准化。本文结合可运
减少 IO 次数和不阻塞主线程。批量写入用事务:N 次 IO 降为 1 次,效果立竿见影大查询放 TaskPool:主线程不卡,UI 流畅分批查 + 只查需要的列:控制单次查询的数据量索引 + 参数化绑定:让查询走索引、复用执行计划。
摘要:端侧 AI 推理看似调用 API 即可,但多线程并发场景下暗礁密布。本文记录了我基于 HarmonyOS 7(API 26)Core Vision Kit 开发视觉应用时,在 NPU 调度、并发控制、线程安全上踩过的五个深坑——从 OOM 崩溃到回调错乱,从吞吐量瓶颈到内存泄漏,附带完整复盘和解决方案。NPU 推理的多线程并发,不是"开更多线程就能更快"的简单问题。硬件理解:NPU 核心数、
3DGS 端侧重建不要把采集、预处理和预览当成一口气跑完的任务。先做阶段预算,再做内存水位保护,最后给降级分支,才能让新能力在真实设备上稳定。