Android SharedPreferences 限制?

标签 android database storage sharedpreferences

我在 Android 上开发了一款游戏。我目前将大部分游戏统计数据保存在数据库中。但是,该应用程序不会在数据库中使用超过一行。我现在有兴趣介绍一些新的统计数据,但这会导致我的数据库重新安装,从而清除每个人的进度。为了避免将来出现这种情况,我正在考虑使用 SharedPreferences 存储游戏统计数据。我的问题是在它成为问题之前可以存储多少不同的东西。总共我将存储大约 40 个值,所有值都是整数。

最佳答案

SharedPreferences是写入xml文件的,所以Android上一个文件的最大大小就是一个SharedPreferences xml文件可以有多大。我可以肯定地说 40 个整数值不会有问题。

SharedPreferences 文件中值的最大大小限制为您尝试存储的值的最大大小。 (这意味着您不能放置比 Java 中的字符串更长的字符串值。)

我唯一建议的是确保尽可能多地批处理编辑(意思是不要 .commit() 每次更改)并且也不要为每个更改创建一个新的编辑器改变。 (这些只是好的做法。)

SharedPreferences settings = getSharedPreferences(PREFS_FILE_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putInt("firstValue", mFirst);
editor.putInt("secondValue", mSecond);
editor.putInt("thirdValue", mThird);

// Commiting the edits
editor.commit();

关于Android SharedPreferences 限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3199910/

相关文章:

php - CouchDB View 可访问,但不会运行查询

java - 如何获取推送的键值并更新键值的子值

java - 在 Android 后台下载 Facebook 图像

android - 广播接收器中的Android音频管理器

sql - 查询太复杂?使用追加查询

ios - 存储大于系统

android - Camera 2 - API - 使用前置摄像头时图像捕捉不工作?

使用 .NET 删除数据库后 MySql 查询变慢

javascript - Firefox 附加组件 sdk : how to use simple-storage API in a content script?

Android 在内部/外部存储中保存应用程序设置/数据