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 (将#修改为@)