微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android中的毕加索磁盘缓存来自Google驱动器

如何解决android中的毕加索磁盘缓存来自Google驱动器

我使用毕加索从我的Google驱动器中获取图像。 它工作正常。但是由于Google驱动器的Cache-Control: private,max-age=0 Picasso不会缓存到磁盘。

一个问题是,当我通过毕加索获取图像后,应用程序的缓存大小会增加,但我不知道为什么毕加索不从缓存中加载。 :(

这是我的代码

import android.app.Application
import com.squareup.picasso.Picasso

class PicassoHandler : Application() {
    override fun onCreate() {
        super.onCreate()
        
        val builder = Picasso.Builder(this)
        
        val built = builder.build()

//      built.setIndicatorsEnabled(true)
//      built.isLoggingEnabled = true
        
        Picasso.setSingletonInstance(built)
    }
}

适配器的加载图像的部分

/* generate image placeholder */
        val placeholder = ResourcesCompat.getDrawable(context.resources,R.drawable.ic_baseline_photo_24,null)!!
        
        /* sets photo if cached else downloads it and then shows */
        Picasso.get().load(biographyItem.imgurl).networkPolicy(NetworkPolicy.OFFLINE).placeholder(placeholder)
            .resizeDimen(R.dimen.thumbnail_size,R.dimen.thumbnail_size)
            .into(holder.photo,object : Callback {
                override fun onSuccess() {}
                override fun onError(e: Exception?) {
                    if (canDownloadPhoto)
                        Picasso.get().load(biographyItem.imgurl).placeholder(placeholder)
                            .resizeDimen(R.dimen.thumbnail_size,R.dimen.thumbnail_size)
                            .into(holder.photo)
                }
            })

所以我的主要问题是如何强制毕加索将所有图像缓存在磁盘上并在下一次本地加载...

有什么想法吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。