哪个是
android中用于存储数据的共享首选项的最佳替代方法,如果我想读取数据并再次保存它并进行一些更改.
数据可以是用户的配置文件,json响应或任何对象.
当我存储大量数据时,我正在搜索Reda / Write数据的其他耗时较少的选项.
目前我的应用程序需要x毫秒才能从活动A转到活动B.
我可以减少这个时间吗?
数据可以是用户的配置文件,json响应或任何对象.
当我存储大量数据时,我正在搜索Reda / Write数据的其他耗时较少的选项.
目前我的应用程序需要x毫秒才能从活动A转到活动B.
我可以减少这个时间吗?
解决方法
如果不深入了解您的用例,很难向您推荐任何内容.
>如果要存储一些用户首选项数据 – SharedPreferences可能是一个不错的选择.
>如果要存储身份验证数据(如用户的身份验证令),请不要使用SharedPreferences,而是查看AccountManager.
>如果您想存储商业数据,例如多个业务实体,彼此保持一些关系,你希望能够查询和/或修改它 – 我建议你使用Realm – https://realm.io.替代方法是使用sqlite,但在我非常主观的意见中更容易入手.
>如果您只想缓存一些基于JSON的响应 – 请查看HTTP客户端可能为您提供的缓存机制.例如,OkHttp对此有很好的支持.
说到加载时间 – 一般来说,SharedPreferences非常快,但它实际上取决于你如何使用它.如果你在其中存储大的JSON结构,那么完全读取它只是为了找到一些基于id的特定对象 – 显然它比使用真实数据库要花费更多的时间.
请记住,我提出的所有解决方案(AccountManager,SharedPreferences和sqlite / Realm)都可以在一个应用程序中完美地相互协作.只需确保为给定问题选择合适的工具.