一、前言
现如今,大部分应用都提供了各自的缓存清理方式。在这里把我在做缓存清理的过程中学到的一些知识记录下来,以便以后温故知新。
二、正文
首先,是关于Android的一些存储路径的介绍。
我们的应用程序一般会产生以下几种类型的数据:
file-普通的文件存储
database-数据库文件(.db文件)
sharedPreference-配置数据(.xml文件)
cache-图片缓存文件
应用内数据的所有路径:(注:com.xxx.xxx为应用包名)
/data/data/com.xxx.xxx/cache - 应用内缓存
/data/data/com.xxx.xxx/databases - 应用内数据库
/data/data/com.xxx.xxx/shared_prefs - 应用内配置文件
/data/data/com.xxx.xxx/files - 应用内文件
/mnt/sdcard/android/data/com.xxx.xxx/cache -外部Cache路径
Android中获取各路径的方法:
context.getExternalFilesDir() - 文件目录
context.getExternalCacheDir() - 外部缓存目录
contect.getCacheDir() - 内部缓存路径
contect.getDatabasePath(String name) - 根据名字获取数据库
接下来是获取缓存大小和清除缓存的方法:
获取缓存大小:
/**
* 获取缓存大小
* @param contect
* @return
* @throws Exception
*/
public static String getCacheSize(Context contect) throws Exception {
return getFormatSize(getFolderSize(contect.getCacheDir())+getFolderSize(contect.getExternalCacheDir()));
}
/**
* 获取文件