美文网首页
Glide 4 缓存大小计算与清理

Glide 4 缓存大小计算与清理

作者: lixinxin | 来源:发表于2018-02-12 14:48 被阅读185次

    1.计算

     File cacheDir = Glide.getPhotoCacheDir(this);
     File parentFile = cacheDir.getParentFile();
     long size = GlideUtils.getDirSize(parentFile);
     String sizeText = GlideUtils.byteConversionGBMBKB(size);
     Log.e("glide_size", sizeText);
    

    getDirSize

     public static long getDirSize(File dir) {
            if (dir == null) {
                return 0;
            }
            if (!dir.isDirectory()) {
                return 0;
            }
            long dirSize = 0;
            File[] files = dir.listFiles();
            for (File file : files) {
                if (file.isFile()) {
                    dirSize += file.length();
                } else if (file.isDirectory()) {
                    dirSize += file.length();
                    dirSize += getDirSize(file); // 递归调用继续统计
                }
            }
            return dirSize;
        }
    

    byteConversionGBMBKB

     private static final double GB = 1024L * 1024L * 1024L;// 定义GB的计算常量
        private static final double MB = 1024L * 1024L;// 定义MB的计算常量
        private static final double KB = 1024L;// 定义KB的计算常量
    
        public static String byteConversionGBMBKB(double kSize) {
            DecimalFormat df = new DecimalFormat("#.00");
            double temp = 0;
            if (kSize / GB >= 1) {
                temp = kSize / GB;
                return df.format(temp) + "GB";
            } else if (kSize / MB >= 1) {
                temp = kSize / MB;
                return df.format(temp) + "MB";
            } else if (kSize / KB >= 1) {
                temp = kSize / KB;
                return df.format(temp) + "KB";
            }
            return kSize + "B";
        }
    
    

    2.清除缓存

       new Thread(new Runnable() {
                @Override
                public void run() {
                    Glide.get(MainActivity.this).clearDiskCache();
                }
            }).start();
        }
    

    相关文章

      网友评论

          本文标题:Glide 4 缓存大小计算与清理

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