【发布时间】:2019-03-25 00:58:08
【问题描述】:
我正在尝试找出将图像缓存到磁盘的最佳和最有效的方法,这样即使在应用程序被终止并以飞行模式重新启动后它们也会持续存在。考虑以下用例:
- 打开应用程序并获取所有图像并在各自的 ImageView 中显示它们
- 杀死应用程序
- 将设备置于飞行模式
- 再次打开应用程序。
我正在尝试将图像保存在离线缓存中,以便它们可以在上述场景中显示。
我浏览了 picasso 和 glide 的文档,但不清楚他们的磁盘缓存在这种情况下是否可以工作。
有没有办法使用毕加索或滑翔来做到这一点?我试图避免编写自定义实现来将其存储在 SQLite 等中。
【问题讨论】:
-
相信毕加索有离线网络能力。换句话说,毕加索应该可以在在线时自动获取并保存到磁盘以供离线使用。签出:stackoverflow.com/a/29812750/394933
-
毕加索没有提供这样的钩子。不过,您可以从服务器设置正确的缓存标头(或在 OkHttp 拦截器中重写响应)。
-
@Brian 是正确的!检查此答案以获取详细信息。 stackoverflow.com/a/34051356/3921977
标签: android caching picasso android-glide offline-caching