如何在android中缓存和存储对象并设置过期策略?

我有一个应用程序从互联网获取数据,为了更好的性能和带宽,我需要实现一个缓存层.

互联网有两种不同的数据,一种是每一小时更换一次,另一种基本不变.因此,对于第一类数据,我需要实现一个过期策略,使其在创建1小时后自行删除,当用户请求该数据时,我将首先检查存储,然后如果没有找到则转到互联网.

我想过使用SharedPrefrence或SQLDatabase存储json数据或序列化对象字符串.

我的问题是:

1)我应该使用什么,SharedPrefrence或SQLDatabase或其他任何东西,一块数据并不大,但可能有很多这种数据的实例.

2)如何实现该到期系统.

最佳答案 我使用SQLite存储在Application子类中有一个最后一个无效的时间戳.

它将在每次数据访问调用时与System.currentTimeMillis()进行比较,以决定是否应该获取新的集合.为此设置一个瘦代理层.

点赞