gpt4 book ai didi

android - 为什么 Picasso 不将图像保存在缓存中以供离线使用?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:12:14 26 4
gpt4 key购买 nike

我有以下代码,它没有按预期离线加载图像。它在线运行良好,但我也需要离线加载图像。我也已授予写入外部存储的权限。任何想法都会很有帮助。

Picasso.with(getContext())
.load(userInfo.getUserPictureUri())
.networkPolicy(NetworkPolicy.OFFLINE)
.resize(80, 80)
.error(R.drawable.profile_picture)
.centerCrop()
.into(imageView_ProfilePictureSide, new Callback() {
@Override
public void onSuccess() {
}

@Override
public void onError() {
// Try again if cache failed
Picasso.with(getActivity())
.load(userInfo.getUserPictureUri())
.error(R.drawable.profile_picture)
.into(imageView_ProfilePictureSide);
}
});

最佳答案

将 OkHttp 添加到应用模块的 gradle 构建文件中:

compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.squareup.okhttp:okhttp:2.4.0'

Picasso 使用HTTP 客户端请求到Disk Cache 操作所以你可以让你自己的http 请求头有属性Cache-Controlmax-age 并使用 Okhttp 创建您自己的静态 Picasso 实例而不是默认的 Picasso。

Okhttppicasso 库均由squareup 团队提供。

引用文献:How do I use disk caching in Picasso?Github issue about disk cache ,@jake-wharton 已经回答了两个问题 -> Question1Question2

关于android - 为什么 Picasso 不将图像保存在缓存中以供离线使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46764305/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com