我有一个从互联网获取数据的应用程序,为了获得更好的性能和带宽,我需要实现一个缓存层。
网上有两种不同的数据,一种每小时变化一次,另一种基本不变。所以对于第一类数据,我需要实现一个过期策略,让它在创建1小时后自动删除,当用户请求该数据时,我会先检查存储,如果没有找到再上网。
我考虑过使用 SharedPrefrence 或 SQLDatabase 来存储 json 数据或序列化对象字符串。
我的问题是:
1) 我应该使用什么,SharedPrefrence 或 SQLDatabase 或其他任何东西,一条数据并不大,但可能有很多该数据的实例。
2) 如何实现过期系统。
最佳答案
我会使用 SQLite
进行存储 + 在 Application
子类中有一个 last invalidated timestamp
。
它将在每次数据访问调用时与 System.currentTimeMillis()
进行比较,以确定是否应获取新集合。为此有一个薄的代理层。
关于android - 如何在android中缓存和存储对象并设置过期策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2755787/