Mar*_*vic 33 android sharedpreferences
我知道类似的问题,这个问题已被多次询问,并且通过SO冲浪我部分找到答案,但不完整,而且android文档并没有真正帮助.显然我知道它们是如何工作的,并且之前已经多次使用过共享偏好,但是我想知道在什么点(多少)太多了,我读过人们有~100KBS存储没有任何问题.长话短说 - 有人确实存在共享首选项中存储的太多数据的问题以及问题是什么,数据是否被删除或?
**这只是一个出于好奇的问题,我已经将我的大值存储在SQL DB中,只是想知道如果有人出于某种原因将所有内容存储在共享首选项中会出现什么问题
Com*_*are 44
由于SharedPreferences存储在XML文件中,因此缺乏SQLite的强大事务支持,我不建议存储"100KBS" SharedPreferences.
话虽这么说,我所知道的最小大小限制将是你的可用堆空间量,因为SharedPreferences将整个XML文件的内容读入内存.
Tom*_*Tom 10
通过阅读你的问题,我认为你不应该使用SharedPreferences,因为(a)它们用于存储更少量的数据(因此使用XML),以及(b)有许多简单的替代方案.
关于SharedPreferences的唯一"特殊"是与首选项活动集成以向用户显示您的首选项,这可能不适用于您计划存储的金额.(哦,SharePreferences也为你处理并发问题.)
您可以使用Java的序列化将Preference类存储在二进制文件中.这些将比可比较的PreferenceFile小得多,并且可以轻松地通过GZIPInputStream传递以使其更小(或CipherInputStream)来加密它.我发现这种备用方法是一种功能强大,简单且跨平台的方式来存储不需要SQLite功能的应用数据.
(对不起,这不是一个直接的答案.)
man*_*ani 10
SharedPreference数据存在限制.在我的情况下,当SharedPreference数据跨越1428.51-kb时,它会抛出一个Memory Exception.
因此,当您需要存储大量数据时,最好使用SQLite数据库.
| 归档时间: |
|
| 查看次数: |
24065 次 |
| 最近记录: |