如果我想读取数据并进行一些更改再次保存,这是android中Shared Preferences存储数据的最佳选择。
数据可以是用户的个人资料,json响应或任何对象。
当我存储大量数据时,我正在搜索其他耗时较少的选项来重做/写入数据。
目前,我的应用从 Activity A到 Activity B需要x毫秒的时间。
我可以减少这个时间吗?

最佳答案

如果没有对用例的深入了解,很难向您推荐任何东西。

  • 如果要存储一些用户首选项数据-SharedPreferences可能是一个不错的选择。
  • 如果要存储身份验证数据(例如用户的身份验证 token ),请不要使用SharedPreferences,而要查看AccountManager
  • 如果您想存储业务数据,例如您希望能够查询和/或修改彼此之间有一定关系的多个业务实体-我建议您使用Realm-https://realm.io。另一种选择是使用SQLite,但在我的主观意见中,Realm的入门要容易得多。
  • 如果您只想缓存一些基于JSON的响应,请查看HTTP客户端可能为您提供的缓存机制。例如,OkHttp为此提供了很好的支持。

  • 说到加载时间-SharedPreferences通常相当快,但实际上取决于您的使用方式。如果您在其中存储大的JSON结构,则完全阅读它只是为了找到基于id的特定对象-显然,与使用真正的数据库相比,这将花费更多时间。

    请记住,我提出的所有解决方案(AccountManagerSharedPreferences和SQLite/Realm)都可以在一个应用程序中完美地相互配合。只要确保为给定的问题选择合适的工具即可。

    关于android - Android中共享首选项的最佳替代方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35118104/

    10-11 22:24
    查看更多