PersistenceV2 API:PersistenceV2持久化能力增强
介绍
PersistenceV2提供状态变量持久化能力,开发者可以通过globalConnect绑定同一个key,在状态变量变化和应用冷启动时,实现持久化能力。在API version 23之前,不支持@Sendable, collections.Set、collections.Map等容器类型的数据。API version 23之后,支持@Sendable及容器类型的数据持久化,解除单个key只能持久化8K数据的限制,提升开发者的易用。
以下是在PersistenceV2在不同场景中的代码示例及结果说明。
工程目录
entry/src/main/ets/
├── common
│ └── resource.ets
├── entryability
│ └── EntryAbility.ets
├── entrybackupability
│ └── EntryBackupAbility.ets
└── pages
├── CircularReferenceOfObject.ets // PersistenceV2持久化循环引用对象场景
├── Index.ets // 页面入口
├── NonTopLevelNumberOfClass.ets // PersistenceV2持久化自定义class中属性为Number场景
├── TopLevelArrayClassA.ets // PersistenceV2持久化Array<ClassA>场景
├── TopLevelArrayClassAAPIs.ets // PersistenceV2持久化Array<ClassA>, 测试各种Array API的场景
├── TopLevelCollectionsArray.ets // PersistenceV2持久化collections.Array<ClassA>的场景
├── TopLevelDate.ets // PersistenceV2持久化Date的场景
entry/src/ohosTest/
├── ets
│ └── test
│ ├── Ability.test.ets
│ ├── PersistenceV2.test.ets // 测试用例代码
│ └── List.test.ets
└── module.json5
具体实现
1、从Index页面选择一个使用场景,点击进入。 2、点击页面内test按钮, 进入界面, 杀掉应用,然后再进入,观察界面上的数据是否持久化成功。
运行示意图


相关权限
不涉及。
依赖
不涉及。
约束与限制
1.本示例仅支持标准系统上运行, 支持设备:RK3568。
2.本示例为Stage模型,支持API23版本SDK,版本号:6.0.2.23,镜像版本号:OpenHarmony_6.1.0.25。
3.本示例需要使用DevEco Studio 6.0.0 Release (Build Version: 6.0.0.858, built on September 24, 2025)及以上版本才可编译运行。
下载
如需单独下载本工程,执行如下命令:
git init
git config core.sparsecheckout true
echo ArkUISample/PersistenceV2 > .git/info/sparse-checkout
git remote add origin https://gitcode.com/harmonyos_samples/guide-snippets.git
git pull origin master