鸿蒙综合讨论/配置文件与用户目录约定

配置文件与用户目录约定

桌面应用的配置习惯(家目录点文件、系统级路径)在鸿蒙沙箱里要重新安家。这篇讲配置文件与用户目录的约定,把这件事在工程层面定死。

▍沙箱里的家
应用的数据目录就是新家:配置、缓存、用户数据各有其位。环境变量在进程最早期指向它们(HOME 与 XDG 系列变量),因为底层库会缓存这些查询结果——设置晚了,库已经用旧路径建了状态,改不回来了。这是真实工程反复确认过的坑,列为铁律级纪律。

▍目录约定
四层结构:配置(长期保留,卸载即失)、缓存(可随时清除重建)、数据(用户文档与工程文件)、临时(会话级)。上游代码的路径习惯逐一映射:点开头的家目录配置映射到配置层;临时目录映射到临时层;系统配置目录(只读需求)映射到随包分发的默认配置加用户覆盖。映射关系文档化,排查路径问题时按图索骥。

▍首次启动的初始化
默认配置随包分发,首启部署或按需生成。两种模式:拷贝式(把默认配置拷到位再改,简单但双份存储)、覆盖式(运行时默认值加用户增量,干净但要框架支持)。缓存目录首启建好并预填(字体缓存、缩略图缓存这类重建昂贵的,能预生成就预生成)。

▍升级与迁移
配置带版本号,升级时迁移逻辑要幂等(重复跑不出错)、可失败(迁移失败保留原数据并提示,绝不静默丢配置)。真实案例:配置迁移把用户自定义项覆盖回默认值——用户半年的调校消失。防御:迁移前备份、迁移逻辑单测覆盖旧版本矩阵。

▍多实例与并发
同应用多窗口或多进程场景,配置写入要原子(临时文件加改名),避免并发写坏。配置变更通知机制(一处改处处见)在多进程架构里要显式做。

▍验收
全新安装、覆盖安装、卸载重装三条路径的配置行为符合预期;升级迁移矩阵测试;沙箱路径视图差异(用户可见的文件管理器与应用内看到的路径不同)在文档里说清。

免费无广告的安装包可以在官网下载体验。
楼主 7 天前
想参与讨论?登录 或 30 秒注册。