毕加索如何实际缓存图像

 mobiledu2502871947 发布于 2023-01-01 11:20

我想知道Picasso Library究竟是如何在应用程序中缓存图像的.我知道它使用HttpHeaders来检查天气以从网络中获取图像.

但是,有没有时间框架缓存图像?
就像在一天之后无效的缓存一样?

问题是我的项目是从网络上加载大量的小图像.有时,新图像会在下次发布时反映出来.但是,有时候,事实并非如此.

最糟糕的是,一些图像反映了变化,而其他图像则不是同时发生的变化.
但是,当我卸载App时,所有图像都反映了这些变化(当然.)

毕加索必须有一些关于缓存的东西.

请不要告诉我使用OkHttp来控制Picasso中的缓存.
我的项目是使用Apache的AsyncHttpClient,它太大了,无法更新.
(当然不是我.我只是用UrlConnection创建一个小型网络助手,而不是实现整个AsyncHttpClient.)

无论如何,任何想法或指针将不胜感激.
底线:没有OkHttp.只想了解Picasso上的缓存控制机制.

问候

1 个回答
  • 毕加索只有一个内存缓存.

    如果图像在内存缓存中,则使用它.否则,当从远程源(网络,内容提供商,文件系统等)加载图像时,它将被放置在内存高速缓存中以供将来查找.

    内存缓存是一个LRU,因此使用的图像越多,它就越有可能保留在缓存中.经常未请求的图像将随着时间的推移逐出.没有时间驱逐,内存缓存不遵守任何HTTP头的缓存语义(如果图像来自网络).

    毕加索没有磁盘缓存.它依赖于HTTP客户端(无论使用哪个)来实现100%的此功能.将自动为OkHttp或HttpUrlConnection(如果使用的话)安装缓存,或者如果已经使用了缓存.

    如果您使用的是自定义HTTP客户端,则启用缓存的负担就在于调用者.

    2023-01-01 11:23 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有