Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用 picasso 从 amazon s3 下载一些图像,并在 android 应用程序的不同区域应用变换。使用调试我注意到,对于每个具有不同转换或图像视图大小的调用,毕加索将再次下载它并将转换后的图像缓存在内存中。是否有正确的方法让毕加索将原始图像存储在缓存中,然后应用转换而无需重新下载?网络带宽是我的用户案例的一个问题。
原始图像将存储在磁盘缓存中。确保您的服务器发送正确的标头以允许在您希望的任何时间段内进行缓存。当发出第二个请求并且图像已经在磁盘缓存中时,它将立即返回。
默认情况下,磁盘缓存仅适用于 Android 4.0 和更高版本,因为它是在内置 HTTP 客户端中引入的。对于所有 API 级别的缓存,请在您的应用中包含 [OkHttp][1]。Picasso 会自动看到 OkHttp 并使用它。这不仅会为您提供无处不在的缓存,还会为您提供更全面的 HTTP 客户端。