Picasso删除缓存

作者: javalong | 来源:发表于2019-01-24 11:07 被阅读6次

缓存分2种,内存缓存,磁盘缓存。

1.清内存

Picasso.get().invalidate(url)
  1. 清磁盘缓存
    这个其实挺麻烦的,因为这个其实不是Picasso的功能,而是Okhttp的功能。所以Picasso中也没有带有清除磁盘缓存的这个功能(可能是我没找)。所以这里用了反射。
fun removeCache(url: String): Boolean {
        if (url.isEmpty()) return true
        val field = Picasso::class.java.getDeclaredField("dispatcher")
        field.isAccessible = true
        val dispatcher = field.get(Picasso.get())
        val downloadField = Class.forName("com.squareup.picasso.Dispatcher").getDeclaredField("downloader")
        downloadField.isAccessible = true
        val downloader = downloadField.get(dispatcher) as OkHttp3Downloader
        val cacheField = OkHttp3Downloader::class.java.getDeclaredField("cache")
        cacheField.isAccessible = true
        val cache = cacheField.get(downloader) as Cache
        val removeMethod = Cache::class.java.getDeclaredMethod("remove",Request::class.java)
        removeMethod.isAccessible = true
        removeMethod.invoke(cache, Request.Builder().url(url).build())
        return true
    }

这个找起来还挺麻烦的,需要了解 Picasso的源码。
大家可以关注下我前面的3篇文章,希望有帮助。

相关文章

  • Picasso删除缓存

    缓存分2种,内存缓存,磁盘缓存。 1.清内存 清磁盘缓存这个其实挺麻烦的,因为这个其实不是Picasso的功能,而...

  • Picasso源码阅读笔记

    一、Picasso简介 Picasso是Square出品的图片下载、缓存库。 二、Picasso源码分析 使用示例...

  • 强大的图片下载和缓存库Picasso

    android:强大的图片下载和缓存库Picasso 1.Picasso简介 Picasso是Square公司出品...

  • Picasso源码解析

    Picasso 是一个强大的图片加载缓存框架 一、使用 二、重要的类 Picasso: 图片加载、转换、缓存的管理...

  • picasso框架

    picasso 是一个强大的图片加载缓存框架 1.首先看下picasso 如何使用: Picasso和Glide相...

  • 3月备忘(4)--截至4.8

    1 用户上传完了新头像,应该Picasso应该重新访问网络----Android Picasso 的缓存怎么清理 ...

  • Android图片加载之Picasso

    Picasso picasso是Square公司开源的一个Android图形缓存库,地址http://square...

  • Picasso 内部缓存

    Picasso是Android中常用的图片加载框架,本文注重解析其缓存逻辑。如果你没有使用过picasso,请简单...

  • 图形加载库对比

    Android四大图片缓存(Imageloader,Picasso,Glide,Fresco)原理、特性对比 Pi...

  • android-------非常好的图片加载框架和缓存库(Pic

    Picasso是Square公司开源的一个Android图形缓存库, 可以实现图片加载(本地和网络)和缓存功能。 ...

网友评论

    本文标题:Picasso删除缓存

    本文链接:https://www.haomeiwen.com/subject/hxkjjqtx.html