HarmonyOS 鸿蒙Next:Preferences的Key键为string类型,要求非空且长度不超过80个字节,是不是有点少?

发布于 1周前 作者 zlyuanteng 来自 鸿蒙OS

HarmonyOS 鸿蒙Next:Preferences的Key键为string类型,要求非空且长度不超过80个字节,是不是有点少?

像UTF-8,一个中文是3个字节,要是包含中文的Key才能放20多个字。

这个限制长度的意义是什么呢?

7 回复

楼主是不是理解错了?

API 9 的 key(键名)的长度有 80 还不够用吗?value 可是有 8KB。

API 12 的 key(键名)长度 1024,value 有 16M!

文档上写的,你可以再去看看文档,是不是还在。 一般用不了80个字节,这个限制就是平常用没事,万一类似动态存储key超了就有点坑。 没有限制也不会超,有了限制就就得考虑是否需要兼容处理这种异常情况了。

我觉得挺好的,做为轻量级配置数据,key一般就只是一个英文字符串,主要内容都保存在value,而value有8192个字节,对于保存应用配置信息、用户偏好设置等够用了。

如果这都不够用,那说明应该考虑用其它的数据存储了,比如存服务器通过接口获取。

这个勉强说是可以,但是字数的限制有点坑,我感觉字数太少了,或者是不应该有一个限制。 虽然一般不会这么做,但是如果通过动态拼接key,还得去改使用数据库。有时候就很麻烦

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17

XML本身不限制内容长度,但XML解析器通常有限制,太长会出现解析错误,有文章说限制长度是为了保证数据准确性;HOS这里估计和解析器有关,也可能出于性能考虑;80B是少了些,20多个中文勉强也够用了,除非你的设置项多得离谱或键名格式复杂要求很长。

HarmonyOS对Preferences的Key键长度限制为非空且不超过80个字节,这一设计通常是出于性能和存储效率的考虑。尽管在某些特定应用场景下可能会感觉这个限制较为严格,但它有助于确保系统的整体性能和稳定性。开发者需要在设计应用时,合理规划Key的命名策略,确保它们既符合规范又具有足够的描述性。如果问题依旧没法解决请加我微信,我的微信是itying888。

回到顶部