Flutter Web持久化存储SharedPreferences原理

前言

在Flutter中,类似于Android,SharedPreferences 是一种用于持久化存储键值对数据的机制


实现原理

对于移动平台(如Android和iOS),SharedPreferences 利用了各自平台的持久化存储能力。在Android上,它使用轻量级的Key-Value存储系统,在iOS上,使用UserDefaults

对于Web平台,SharedPreferences 的实现有所不同,因为Web平台没有与Android或iOS相同的持久化存储机制。在Web上,SharedPreferences 的实现是基于浏览器的 localStorage 功能

注意要点

  1. localStorage:Web浏览器提供的一个持久化存储机制,允许网站存储键值对数据。它与会话存储(sessionStorage)类似,但它的数据在浏览器关闭后仍然保留

  2. 键值对存储 :和移动平台上的实现一样,SharedPreferences 在Web上也是通过键值对来存储数据的。但在Web端,这些数据被保存在浏览器的 localStorage

  3. 数据持久化 :使用 localStorage,数据会在用户的浏览器中持久化存储,即使关闭和重新打开浏览器,这些数据也会保留

  4. 限制 :由于它是基于浏览器的,localStorage 有一些限制,如存储容量限制(通常为5MB左右),并且只能存储字符串。因此,对于非字符串类型的数据,SharedPreferences 需要将其序列化为字符串,然后再进行存储


附言

需要注意的是,用户可以通过清除游览器数据来删除localStorage中的数据

相关推荐
ujainu9 小时前
保护你的秘密:Flutter + OpenHarmony 鸿蒙记事本添加笔记加密功能(五)
flutter·openharmony
特立独行的猫a9 小时前
主要跨端开发框架对比:Flutter、RN、KMP、Uniapp、Cordova,谁是未来主流?
flutter·uni-app·uniapp·rn·kmp·kuikly
一只大侠的侠9 小时前
Flutter开源鸿蒙跨平台训练营 Day17Calendar 日历组件开发全解
flutter·开源·harmonyos
晚霞的不甘9 小时前
Flutter for OpenHarmony 打造沉浸式呼吸引导应用:用动画疗愈身心
服务器·网络·flutter·架构·区块链
renke336410 小时前
Flutter for OpenHarmony:数字涟漪 - 基于扩散算法的逻辑解谜游戏设计与实现
算法·flutter·游戏
一只大侠的侠10 小时前
Flutter开源鸿蒙跨平台训练营 Day14React Native表单开发
flutter·开源·harmonyos
子春一10 小时前
Flutter for OpenHarmony:音律尺 - 基于Flutter的Web友好型节拍器开发与节奏可视化实现
前端·flutter
微祎_10 小时前
Flutter for OpenHarmony:单词迷宫一款基于 Flutter 构建的手势驱动字母拼词游戏,通过滑动手指连接字母路径来组成单词。
flutter·游戏
ujainu11 小时前
护眼又美观:Flutter + OpenHarmony 鸿蒙记事本一键切换夜间模式(四)
android·flutter·harmonyos
ujainu11 小时前
让笔记触手可及:为 Flutter + OpenHarmony 鸿蒙记事本添加实时搜索(二)
笔记·flutter·openharmony