登录社区云,与社区用户共同成长
邀请您加入社区
页面发起业务动作,数据层负责拿数据,异常统一归类,页面根据结果更新 UI 状态。把这条链稳定下来,后面的并发、Token、分页、缓存和弱网才有合适的位置,不会继续堆回页面。
商品列表有 50 个 3DGS 场景,用户翻来翻去看。第一次进商品详情要重建(或下载预重建结果),耗时 600-1200 ms。第二次进同一个商品如果还要重建,用户会觉得"我都看过了怎么还等"。我们一开始没做缓存,用户投诉慢。后来加了缓存,又遇到新问题——LRU 把热门商品淘汰了,用户翻一圈回来发现又要等。这篇文章记录我们试过的几种缓存策略,以及最后选的混合方案。
这篇讲了 Preferences 和 RDB 的适用场景、基本用法和封装思路。小数据用 Preferences,大数据用 RDB,别混着用。Preferences 的 put 后要 flush,RDB 的 ResultSet 用完要 close。封装统一缓存层,别让业务代码直接依赖具体存储 API。
处理 3DGS 分块下载中断造成的半文件缓存、哈希失配和错误复用。
在 ParallelWebDesk(任务 WEB-1408)中,通过拆分 Controller 归属与路由状态,实现双栏视界下返回键的精准决策。采用以 detailSessionId 为键的 Controller 池,确保实例不复用、归属不混淆;回退逻辑优先查询 Web 历史,再依布局形态决定清空详情或弹出路由,避免误退;缓存淘汰前先断开回调引用,防止迟到回调污染;调试日志同步展示选中项、池状态与
本文记录了在 SchemaDock 项目中,因缓存失效、并发验证与错误状态管理不当导致的页面卡顿与校验结果不一致问题。通过引入基于业务名、版本与哈希的稳定键、严格白名单验证、同步深拷贝错误快照并绑定页面代次、以及将动态路径映射为固定字段 ID,最终实现校验结果稳定、缓存高效、回归可复现。
在移动应用开发中,本地持久化缓存是提升启动速度与用户体验的关键技术。它通过将高频数据与图片资源落盘,避免每次冷启动都发起网络请求,从而显著缩短白屏时间。实现这一目标的核心在于合理设计缓存淘汰策略,如LRU(最近最少使用)算法,它能在磁盘空间受限时自动清理最久未访问的数据,保障缓存命中率。在鸿蒙系统适配Flutter应用时,开发者常面临路径沙箱约束与插件兼容性挑战。persistent_cache_
本文业务场景是:长视频应用允许用户缓存内容,并在播放时间轴中插入可追踪的广告段。主操作为“缓存在线媒体并在合法时间点插播广告”。成功标准至少包括:目标结果正确、用户可取消、进程重启可恢复、重复回调不破坏终态、性能指标可度量、隐私数据未越界。value?: string非目标也要写清:不绕过系统权限,不在不支持设备伪造成功,不把平台对象直接暴露给页面,不用用户原始数据换取更方便的调试。离线缓存与广告
本文业务场景是:图片编辑器切换大型素材工程后,希望主动释放已经不再使用的文件页缓存。主操作为“释放指定文件或模块的文件页缓存”。成功标准至少包括:目标结果正确、用户可取消、进程重启可恢复、重复回调不破坏终态、性能指标可度量、隐私数据未越界。value?: string非目标也要写清:不绕过系统权限,不在不支持设备伪造成功,不把平台对象直接暴露给页面,不用用户原始数据换取更方便的调试。
Graphics Accelerate Kit 的高质量接入不在于调用次数,而在于边界清晰、状态可恢复、失败可解释、指标可验证。围绕“视频编辑应用需要实时叠加模糊、色彩和几何变换,同时保持预览交互流畅”建立能力门禁、领域契约、幂等状态机、资源生命周期和真机证据,才能把 HarmonyOS 7 / API 26 能力从演示代码推进到可维护产品。
图 1:设备信息库适配封面图,用来概括本文主题、适配对象和工程边界。实际项目里,设备信息库适配经常不是“引入依赖就能用”的问题。真正麻烦的是输入来源、平台能力、生命周期、异常处理和发布说明没有被写清楚。前期省掉这些边界,后面一升级库版本或换设备,就会变成全链路排查。本文围绕和展开,目标是把三方库从“能跑一次”整理成“能被业务稳定接入”。读者可以按文中的源码地图、配置入口、封装层、示例页和验收清单,
图 1:图片缓存库适配封面图,用来概括本文主题、适配对象和工程边界。实际项目里,图片缓存库适配经常不是“引入依赖就能用”的问题。真正麻烦的是输入来源、平台能力、生命周期、异常处理和发布说明没有被写清楚。前期省掉这些边界,后面一升级库版本或换设备,就会变成全链路排查。本文围绕和展开,目标是把三方库从“能跑一次”整理成“能被业务稳定接入”。读者可以按文中的源码地图、配置入口、封装层、示例页和验收清单,
bg: string;// 页面背景(深褐)// 卡片底色(深木)// 标题(宣纸暖白)// 副文(绢帛黄)// 三级弱文(陶土灰)// 青铜绿主色// 青铜深色// 鎏金// 朱砂红(国保徽章/删除)// 青蓝// 分割线// Tab 选中色// 弹窗遮罩{ icon: '🏛️', label: '首页' },{ icon: '🗺️', label: '地图' },{ icon: '🔍',
一个页面只有计数器时,任何状态写法看起来都足够快。进入订单、运动记录或设备面板后,对象包含几十个字段,一个字段变化却触发大片UI重新构建,派生值在多个位置重复计算,监听回调又写回源状态,性能与可维护性会同时下降。状态管理V2提供@Trace@Computed和@Monitor等能力。它们不是把装饰器换个名字,而是把“谁是源状态、哪个属性可追踪、哪个值是派生结果、哪些变化需要副作用”分成不同责任。本
长列表卡顿往往不是“数据太多”这一句能解释。一次创建过多子组件、键值不稳定导致整批重建、不同卡片共用错误的复用池、缓存数量按总数据量设置,都会让滑动过程产生额外构建和内存压力。Repeat的虚拟滚动把可见窗口、组件复用和按需补数放在同一条链路中,但前提是开发者给出可靠的数据身份与组件分类。本文实现一个包含文字、图片和视频卡片的动态信息流。读完后你可以明确回答三个问题:哪一项能复用、复用到哪个组件类
任何一款设计精良的应用,背后都有一套严谨的色彩规范。bg: string;bg:页面整体背景色 #FBF6E9,奶黄暖棕底,营造宠物O2O的温暖治愈氛围。caramel:主色调 #D98324,焦糖色,用于按钮、强调文字、激活Tab、价格、渐变起始色等高优先级视觉元素,是宠物温暖的标志性色彩(甜蜜、治愈、温暖)。caramelD:深主色 #B0650F,深焦糖,用于渐变结束色、柱状图底部色,与 c
本文介绍了HarmonyOS离线缓存恢复的四个关键环节: 本地缓存 - 使用LocalCache保存可读数据,确保页面不空白,包含数据来源和时间戳 待同步队列 - 通过PendingQueue记录用户离线操作,按操作类型和顺序存储 冲突解决 - ConflictResolver比较本地和云端版本,提供多种合并策略 重试机制 - RetryScheduler控制重试节奏,采用指数退避算法避免资源浪费
在 [第 07 篇]中,我们实现了基于的数据库持久化。本文将实现多级缓存策略,在数据库之上构建内存缓存层,提升应用的响应速度和离线可用性。缓存是提升应用性能的关键手段。合理的缓存策略可以减少 API 调用次数、降低网络延迟、节省 AI 服务费用。HarmonyAI 采用内存缓存 + 持久化缓存的两级架构,配合 DatabaseManager 实现完整的缓存管理体系。本文实现了多级缓存与历史记录系统
Release 构建是从开发到发布的关键步骤。在 11 模块架构中,控制了代码混淆的粒度,资源压缩减小了包体积,隔离了开发和发布配置。HAR 包的发布流程为模块复用提供了标准化路径。正确理解和配置混淆规则,确保关键 API 不被混淆,是 Release 构建成功的保障。
增量编译和构建缓存是 Hvigor 加速开发的核心机制。在 11 模块架构中,模块化的设计天然有利于增量编译——修改一个模块不影响其他模块的缓存。理解缓存的触发条件和失效场景,合理使用 clean build 策略,能够在保证构建质量的同时最大化开发效率。核心原则是:正常开发用增量编译,遇到异常用 clean build,构建服务器用全量构建。