前言
在Flutter中,类似于Android,SharedPreferences
是一种用于持久化存储键值对数据的机制
实现原理
对于移动平台(如Android和iOS),SharedPreferences
利用了各自平台的持久化存储能力。在Android上,它使用轻量级的Key-Value存储系统,在iOS上,使用UserDefaults
对于Web平台,SharedPreferences
的实现有所不同,因为Web平台没有与Android或iOS相同的持久化存储机制。在Web上,SharedPreferences
的实现是基于浏览器的 localStorage
功能
注意要点
-
localStorage:Web浏览器提供的一个持久化存储机制,允许网站存储键值对数据。它与会话存储(sessionStorage)类似,但它的数据在浏览器关闭后仍然保留
-
键值对存储 :和移动平台上的实现一样,
SharedPreferences
在Web上也是通过键值对来存储数据的。但在Web端,这些数据被保存在浏览器的localStorage
中 -
数据持久化 :使用
localStorage
,数据会在用户的浏览器中持久化存储,即使关闭和重新打开浏览器,这些数据也会保留 -
限制 :由于它是基于浏览器的,
localStorage
有一些限制,如存储容量限制(通常为5MB左右),并且只能存储字符串。因此,对于非字符串类型的数据,SharedPreferences
需要将其序列化为字符串,然后再进行存储
附言
需要注意的是,用户可以通过清除游览器数据来删除localStorage中的数据