【问题标题】:Where sharedPreference value will be stored in Android?sharedPreference 值将存储在 Android 中的哪个位置?
【发布时间】:2017-10-18 18:22:11
【问题描述】:

我在 Android 中使用 sharedPreference,但是它将像堆内存或堆栈内存一样存储在哪个内存中?我们可以在 sharedPreference 中存储多少数据以获得更好的体验。

【问题讨论】:

    标签: android sharedpreferences


    【解决方案1】:

    堆栈用于静态内存分配,堆用于动态内存分配,两者都存储在计算机的 RAM 中。因此共享首选项是基于堆的。

    在堆上分配的变量在运行时分配它们的内存,访问这块内存有点慢,但堆大小仅受虚拟内存大小的限制。

    【讨论】:

    • 什么是栈?它是计算机内存的一个特殊区域,用于存储每个函数(包括 main() 函数)创建的临时变量
    • 共享首选项被设计为最多可存储 1.45mb,就像过去的软盘一样!
    【解决方案2】:

    SharedPreferences 存储在 XML 文件中,并且它们存储在堆内存中 当 SharedPreference 数据超过 1.42 MB 时,它会引发内存异常。 您可以参考此 stackoverflow 链接了解更多详细信息。 Shared Preferences "limit"

    【讨论】:

      猜你喜欢
      • 2016-08-23
      • 2010-12-26
      • 1970-01-01
      • 1970-01-01
      • 2017-09-10
      • 1970-01-01
      • 1970-01-01
      • 2018-11-18
      • 2013-01-08
      相关资源
      最近更新 更多