• 鸿蒙开发中:首选项(Preferences)和长连接(PersistentStorage)的区别


    Preferences:可看做是配置项,为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据,并对其修改和查询。Preferences中的数据会被缓存在内存中,因此它可以获得更快的存取速度

    PersistentStorage:提供持久性的数据存储,数据在设备上保持不变,即使应用关闭或设备重启。PersistentStorage将选定的AppStorage属性保留在设备磁盘上。PersistentStorage的持久化变量最好是小于2kb的数据,不要大量的数据持久化因为PersistentStorage写入磁盘的操作是同步的,大量的数据本地化读写会同步在UI线程中执行,影响UI渲染性能。

    在鸿蒙开发中,首选项(Preferences)和长连接(PersistentStorage)都是用于存储数据的方式,它们的详细区别和作用如下:

    • Preferences:通常用于保存应用的配置信息。数据通过文本的形式保存在设备中,应用使用过程中会将文本中的数据全量加载到内存中,所以访问速度快、效率高,但不适合需要存储大量数据的场景。Preferences会随着存放的数据量越多而导致应用占用的内存越大,因此,Preferences不适合存放过多的数据,适用的场景一般为应用保存用户的个性化设置(字体大小,是否开启夜间模式)等。

    • -PersistentStorage:提供持久性的数据存储,数据在设备上保持不变,即使应用关闭或设备重启。PersistentStorage将选定的AppStorage属性保留在设备磁盘上。PersistentStorage的持久化变量最好是小于2kb的数据,不要大量的数据持久化,因为PersistentStorage写入磁盘的操作是同步的,大量的数据本地化读写会同步在UI线程中执行,影响UI渲染性能。如果开发者需要存储大量的数据,建议使用数据库api。

    总的来说,Preferences适用于存储小型配置项数据,而PersistentStorage适用于存储需要在应用关闭或设备重启后仍然保留的数据。

    数据持久化方案

    LocalStorage和AppStorage都是运行时的内存,如果应用退出再次启动后,依然能保存选定的结果

    就需要用到PersistentStorage,此对象的作用是持久化存储选定的AppStorage属性

    UI和业务逻辑不直接访问PersistentStorage中的属性,所有属性访问都是对AppStorage的访问,AppStorage中的更改会自动同步到PersistentStorage

  • 相关阅读:
    【攻防世界】unseping (反序列化与Linux bash shell)
    大数据知识面试题-通用(2022版)
    【晶振专题】案例:为什么对着STM32低速32.768K晶振哈口气就不起振了?
    二维数组的最小路径和问题
    JavaScript数据结构之链表
    SSM毕设项目车辆维修管理系统m97p7(java+VUE+Mybatis+Maven+Mysql)
    采用状态转移矩阵方式的快速哈夫曼解码算法
    ciscn 2022 华东北分区赛pwn duck
    初级篇—第八章精讲MySQL数据类型
    想要搭建网站帮助中心,看这一篇指南就对了!
  • 原文地址:https://blog.csdn.net/xiaoxiede_wo/article/details/138045016