图片缓存和清除
来源:互联网 发布:淘宝提问回答能删除吗 编辑:程序博客网 时间:2024/05/12 02:40
public class Main2Activity extends AppCompatActivity { private TextView clear; private TextView num; String formatSize; String old; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); clear = (TextView) findViewById(R.id.clear); num = (TextView) findViewById(R.id.num); try { formatSize= getFormatSize(getFolderSize(new File(Main2Activity.this.getCacheDir() + "/" + InternalCacheDiskCacheFactory.DEFAULT_DISK_CACHE_DIR))); num.setText(formatSize); } catch (Exception e) { e.printStackTrace(); } clear.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { try { if (Looper.myLooper() == Looper.getMainLooper()) { new Thread(new Runnable() { @Override public void run() { Glide.get(Main2Activity.this).clearDiskCache();// BusUtil.getBus().post(new GlideCacheClearSuccessEvent()); try { old= getFormatSize(getFolderSize(new File(Main2Activity.this.getCacheDir() + "/" + InternalCacheDiskCacheFactory.DEFAULT_DISK_CACHE_DIR))); } catch (Exception e) { e.printStackTrace(); } } }).start(); } else { Glide.get(Main2Activity.this).clearDiskCache(); } num.setText(old); } catch (Exception e) { e.printStackTrace(); } } }); } public String getCacheSize(Context context) { try { return getFormatSize(getFolderSize(new File(context.getCacheDir() + "/"+ InternalCacheDiskCacheFactory.DEFAULT_DISK_CACHE_DIR))); } catch (Exception e) { e.printStackTrace(); } return ""; } private long getFolderSize(File file) throws Exception { long size = 0; try { File[] fileList = file.listFiles(); for (File aFileList : fileList) { if (aFileList.isDirectory()) { size = size + getFolderSize(aFileList); } else { size = size + aFileList.length(); } } } catch (Exception e) { e.printStackTrace(); } return size; } private static String getFormatSize(double size) { double kiloByte = size / 1024; if (kiloByte < 1) { return size + "Byte"; } double megaByte = kiloByte / 1024; if (megaByte < 1) { BigDecimal result1 = new BigDecimal(Double.toString(kiloByte)); return result1.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString() + "KB"; } double gigaByte = megaByte / 1024; if (gigaByte < 1) { BigDecimal result2 = new BigDecimal(Double.toString(megaByte)); return result2.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString() + "MB"; } double teraBytes = gigaByte / 1024; if (teraBytes < 1) { BigDecimal result3 = new BigDecimal(Double.toString(gigaByte)); return result3.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString() + "GB"; } BigDecimal result4 = new BigDecimal(teraBytes); return result4.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString() + "TB"; }}
阅读全文
1 0
- 图片缓存和清除
- 【SDWebImage】 显示图片缓存大小和清除缓存
- apicloud图片缓存的使用和查看清除缓存
- nginx清除缓存图片
- 清除图片缓存
- 清除图片缓存SDImageCache
- img图片缓存清除
- flex4之清除图片缓存
- 使用SDWebImage清除图片缓存
- SDWebimage手动清除缓存图片
- Glide的缓存图片,清除缓存
- 图片磁盘缓存量的大小显示和,清除缓存实现 ------ 基于glide
- 枚举和清除 IE 缓存
- Session过期和清除缓存
- UIWebView清除缓存和cookie
- UIWebView清除缓存和cookie
- UIWebView清除缓存和Cookie
- UIWebView清除缓存和cookie
- 进化算法(二)句子配对
- XStream转换时忽略未知字段
- Android实现夜间模式
- 蒙特卡罗模拟网站访问——PageRank算法
- 学习笔记04
- 图片缓存和清除
- Day4
- Spring讲解
- Hive Common Join VS Map Join
- listview多条目加载简单应用
- TabLayout+Fragment自定义不同界面圆
- BZOJ 3144: [Hnoi2013]切糕 最小割
- 安卓——窗体小知识
- 了不起的分支和循环