项目中使用了glide加载图片

设置中要求能够清理用户缓存

计算缓存大小:

new GetDiskCacheSizeTask().execute(new File(context.getCacheDir(),DiskCache.Factory.DEFAULT_DISK_CACHE_DIR));

//开启Task任务进行计算

class GetDiskCacheSizeTask extends AsyncTask {

@Override

protected void onPreExecute() {

iView.setCache("计算中...");

}

protected void onProgressUpdate(Long... values) { /* onPostExecute(values[values.length - 1]); */ }

protected Long doInBackground(File... dirs) {

try {

long totalSize = 0;

for (File dir : dirs) {

publishProgress(totalSize);

totalSize += calculateSize(dir);

}

return totalSize;

} catch (RuntimeException ex) {

final String message = String.format("Cannot get size of %s: %s", Arrays.toString(dirs), ex);

}

return 0L;

}

@Override

protected void onPostExecute(Long size) {

String sizeText = Formatter.formatFileSize(context, size);

iView.setCache(sizeText);

}

}

计算代码:

private long calculateSize(File dir) {

if (dir == null) return 0;

if (!dir.isDirectory()) return dir.length();

long result = 0;

File[] children = dir.listFiles();

if (children != null)

for (File child : children)

result += calculateSize(child);

return result;

}

清除缓存

public void clearCache() {

new Thread(new Runnable() {

@Override

public void run() {

Glide.get(BaseApplication.getApp()).clearDiskCache();

BaseApplication.getHandler().post(new Runnable() {

@Override

public void run() {

//清除内存缓存

Glide.get(context).clearMemory();

iView.showToast("清除成功");

new GetDiskCacheSizeTask().execute(new File(context.getCacheDir(), DiskCache.Factory.DEFAULT_DISK_CACHE_DIR));

}

});

}

}).start();

}

android glide 清除缓存,安卓内存清理之Glide相关推荐

  1. Android缓存处理和清除数据、清除缓存、一键清理的区别

      在Android设备中,我们经常会看到与系统或者应用相关的清除功能有:清除数据.清除缓存.一键清理,这么多清除功能对于一个程序猿就够难理解了,偏偏很多安卓设备上都有这些功能,对于用户来说就更难理解 ...

  2. android清除缓存 代码,Android应用开发之Android应用清除缓存一般清理目录和代码的教程...

    本文将带你了解Android应用开发Android应用清除缓存一般清理目录和代码的教程,希望本文对大家学Android有所帮助. 一个应用安装完成,会有缓存,缓存一般分为内部存储的和外置的,内存中路径 ...

  3. firefox火狐浏览器怎么清除缓存 火狐浏览器清理cookie教程

    使用火狐浏览器的小伙伴是不是会出现网页搜索速度慢之类的问题呢,其实这是网页缓存太多的缘故.接下来,就让小编为大家说一下firefox(火狐浏览器)如何清除缓存的方法吧. 1.打开火狐浏览器,点击浏览器 ...

  4. android pad 清除缓存,ipad清理缓存经验介绍

    ipad清理缓存经验介绍 导语:ipad清理缓存经验介绍?快速清除缓存(Quick App Manager)Quick App Clean Cache 能够列出手机中所有 Android 软件的缓存, ...

  5. Android studio 清除缓存数据的步骤

    导读:在eclipse的当中进行运行Android的运用的程序的时候,就会产生内存缓存的信息,而eclipse是可以直接点击停止运行程序,然后点击清除缓存,就可以解决了这个问题,而Android st ...

  6. android 显示清除缓存

    工具类 package com.infzm.daily.know.utils; /* * 文 件 名: DataCleanManager.java * * 描 述: 主要功能有清除内/外缓存,清除数据 ...

  7. android WebView清除缓存

    当我们加载Html时候,会在我们data/应用package下生成database与cache两个文件夹,我们请求的Url记录是保存在webviewCache.db里,而url的内容是保存在webvi ...

  8. Glide清除缓存(清除内存缓存、本地缓存、清除所有缓存等)

    Glide使用讲解 https://blog.csdn.net/bzlj2912009596/article/details/81702367 Glide的图片缓存在/data/data/项目包名/c ...

  9. Android WebView清除缓存,总有一个方法适合你

    一,缓存介绍 缓存分为:页面缓存和数据缓存 页面缓存: 指加载一个网页时的html.JS.CSS等页面或者资源数据. 数据缓存 : 数据缓存分为AppCache和DOM Storage两种. 一般清除 ...

最新文章

  1. 如何识别AWARD的BIOS-ID
  2. android 获取应用内存大小,如何在Android中获取当前内存使用量?
  3. 牛客 contest893 H-Chat (dp)
  4. [php]Undefined offset: 0错误
  5. C语言试题三十九之将s所指字符串中除了下标为奇数、同时ascii值也为奇数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的一个数组中。
  6. java帐篷_Java多线程之 Park和Unpark(十四)
  7. OJ1005: 整数幂
  8. In your eyes, what is Jobs‘ best product?
  9. python编写ftp客户端_python实现ftp客户端示例分享
  10. 小D课堂 - 新版本微服务springcloud+Docker教程_5-06 高级篇幅之深入源码
  11. java 生成32位字符串
  12. BeX5安装遇到问题
  13. AI教程之谷歌的新 Imagen 视频从文本生成视频
  14. pycharm安装scipy
  15. android 文件管理 ca,安卓Android手机添加根证书
  16. 九爷带你了解 mctop: 监视 Memcache 流量
  17. 欠债还钱,天经地义(一)
  18. 《九日集训》(第一讲)函数
  19. ctfshow NodeJs web334-web344 wp
  20. 安装或者初始化达梦数据库卡死

热门文章

  1. js 事件阻止传播方法,准确定位事件源
  2. 登录login页面--css效果
  3. 芯片丨英伟达同软银等合作 在日韩布署云游戏服务器
  4. 实现一个函数判断year是不是闰年。
  5. 基于STC89C52单片机的智能家居系统
  6. The Clouds
  7. 航空叶片检测之相关名词解释
  8. 中兴c600olt数据配置_OLT(ONU)语音业务数据标准配置指导-zte
  9. 标志是企业视觉形象识别的核心
  10. GNU Make工具(二)Phony Targets 和 FORCE