android之清理缓存实现,供大家参考,具体内容如下
一. 清理缓存首先要搞清楚清理哪些东西
1、app本身的功能比如录像,录音,更新都会产生文件,需要清理
2、app的默认缓存地址cache
二. 搞清楚要清理的文件夹位置
1、首先app自身的功能就要看自己把它放在了什么位置
2、默认缓存地址:getActivity().getExternalCacheDir();
这个位置是在storage/emulated/0/Android/data/com.xxxxxapp/cache
三.代码功能模块:
1、获取app缓存大小,以字节为单位
2、获取某个文件夹的大小,以字节为单位
3、把字节单位换算成常用单位
4、把缓存大小设置到页面,清理前一次,清理后一次
5、删除文件夹功能
6、清除app缓存
/**
* 获取app的缓存大小
* 1. 录制的视频/storage/emulated/0/xueliangapp/video/1573972925136.mp4
* 2. 录制的音频/storage/emulated/0/xueliangapp/radio/1573972925136.amr
* 3. 下载的更新包/storage/emulated/0/Android/data/com.sdxzt.xueliangapp_v3/files/Download/xueliang_update.apk
* 4. 缓存/storage/emulated/0/Android/data/com.sdxzt.xueliangapp_v3/cache
*/
File videoDir,radioDir,filesDir,cacheDir;
private String getAppCache(){
long fileSize = 0;
String cacheSize = "0KB";
videoDir = new File(Environment.getExternalStorageDirectory()+"/xueliangapp/video");
Log.d(TAG, "getAppCache: videoDir大小: "+getDirSize(videoDir));
radioDir = new File(Environm