compile 'com.github.bumptech.glide:glide:3.7.0'//呼叫工具類獲取快取大小
string cachesize = glidecacheutil.getinstance().getcachesize(this);
clean.settext(cachesize);
dingwei.setonclicklistener(new view.onclicklistener()
});//清除快取
clean.setonclicklistener(new view.onclicklistener()
});
//工具類
public class glidecacheutilreturn
inst;
}/**
* 清除磁碟快取
*/public void clearimagediskcache(final context context)
}).start();
} else
} catch (exception e)
}/**
* 清除記憶體快取
*/public void clearimagememorycache(context context)
} catch (exception e)
}/**
* 清除所有快取
*/public void clearimageallcache(context context)
/*** 獲取glide造成的快取大小**
@return
cachesize
*/public string getcachesize(context context) catch (exception e)
return
""; }
/*** 獲取指定資料夾內所有檔案大小的和**
@param
file
file
* @return
size
* @throws
exception
*/private long getfoldersize(file file) throws exception else
}} catch (exception e)
return size;
}/**
* 刪除指定目錄下的檔案,這裡用於快取的刪除**
@param
filepath
filepath
* @param
deletethispath
deletethispath
*/private void deletefolderfile(string filepath, boolean deletethispath)
}if (deletethispath) else }}
} catch (exception e) }}
/*** 格式化單位**
@param
size
size
* @return
size
*/private static string getformatsize(double size)
double megabyte = kilobyte / 1024;
if (megabyte < 1)
double gigabyte = megabyte / 1024;
if (gigabyte < 1)
double terabytes = gigabyte / 1024;
if (terabytes < 1)
bigdecimal result4 = new bigdecimal(terabytes);
return result4.setscale(2, bigdecimal.round_half_up).toplainstring() + "tb";
}}
Glide關於清除快取策略
glide已經很強大了 自帶快取清楚功能 清除記憶體快取 glide.get activity clearmemory 清除磁碟快取 glide.get activity cleardiskcache 其中需要注意的是 1 清除記憶體快取是在主線程中 2 清除磁碟快取是在子執行緒中進行 如果需要自定...
計算Android app快取大小以及清除快取
這是乙個常用功能,記錄一下 才是精華 object cacheutils return getformatsize cachesize.todouble 清理全部快取 param context fun clearallcache context context 刪除檔案 param dir ret...
Android獲取快取大小和清除快取功能
拿去可以直接用 一 清除資料都有哪些 1 file 普通檔案儲存,對應路徑 data data com.files 應用內檔案 得到的方法getfiledir 2 database 資料庫檔案 db檔案 對應路徑 data data com.database 應用資料庫 3 shareprefere...