java Android截取特定项目的持久缓存
我在玩Volley,当Volley清空其缓存时,我希望将某些数据(JSON或图像)保存在内存或DiskBasedCache中。目前我正在做的是,如果一个项目在内部被标记为要持久化,我们将它保存到一个文件中,如果截取失败,那么我们将检查文件中的数据
我目前正在做的是对DiskBasedCache进行黑客攻击,并在调用pruneIfNeeded时保留一个静态的键数组列表,以便不清除这些键。有没有更推荐的方法
你可以在下面搜索框中键入要查询的问题!
我在玩Volley,当Volley清空其缓存时,我希望将某些数据(JSON或图像)保存在内存或DiskBasedCache中。目前我正在做的是,如果一个项目在内部被标记为要持久化,我们将它保存到一个文件中,如果截取失败,那么我们将检查文件中的数据
我目前正在做的是对DiskBasedCache进行黑客攻击,并在调用pruneIfNeeded时保留一个静态的键数组列表,以便不清除这些键。有没有更推荐的方法
# 1 楼答案
我认为你的解决方案是一个很好的选择。您还有另一个选择,它不太“黑客”,但需要更多的工作:
在对Volley的调用上方创建一个“层”,该层具有自己的磁盘缓存和内存缓存。为了回答这个问题,让我们调用层网络接口
遵循以下流程:
当需要网络资产时:
每个磁盘操作都应该是非阻塞的,并在后台线程上执行。与网络层的整个通信应类似于截击式,有成功和错误的侦听器