# 如何解决Preferences存储时报错的问题

#### 问题现象

Preferences存储json格式字符串时报错：

```
Parameter error.The type of value must be less then 16 * 1024 * 1024 bytes.
```

#### 背景知识

Preferences的运作机制如下图所示，用户程序通过ArkTS接口读写对应的数据文件。开发者可以将持久化文件的内容加载到Preferences实例，每个文件唯一对应到一个Preferences实例，系统会通过静态容器将该实例存储在内存中，直到主动从内存中移除该实例或者删除该文件。

Preferences在使用过程中会存在以下约束限制：包括通用限制、XML模式约束限制以及GSKV模式约束限制。

#### 问题定位

根据官网文档提示，表明传入的参数错误。可能的原因：

1.  强制参数未指定。
2.  参数类型不正确。
3.  参数校验失败。

#### 分析结论

通过报错信息可知传入的value超过了最大上限。如果Preferences的Value值为string类型，请使用UTF-8编码格式，可以为空，不为空时长度不超过16\*1024\*1024个字节。

#### 修改建议

根据分析结论中的限制，修改保存进Preferences的value值，防止超过最大长度。