CleanUtils是一个清除相关工具类
功能:
1.清除内部缓存
2.清除内部文件
3.清除内部数据库
4.根据名称清除数据库
5.清除内部SP
6.清除外部缓存
7.清除自定义目录下的文件
package com.blankj.utilcode.utils;
import android.app.ActivityManager;
import android.content.Context;
import java.io.File;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* <pre>
* author: Blankj
* blog : http://blankj.com
* time : 2016/9/27
* desc : 清除相关工具类
* </pre>
*/
public class CleanUtils {
private CleanUtils() {
throw new UnsupportedOperationException("u can't instantiate me...");
}
/**
* 清除内部缓存
* <p>/data/data/com.xxx.xxx/cache</p>
*
* @param context 上下文
* @return {@code true}: 清除成功<br>{@code false}: 清除失败
*/
public static boolean cleanInternalCache(Context context) {
return FileUtils.deleteFilesInDir(context.getCacheDir());
}
/**
* 清除内部文件
* <p>/data/data/com.xxx.xxx/files</p>
*
* @param context 上下文
* @return {@code true}: 清除成功<br>{@code false}: 清除失败
*/
public static boolean cleanInternalFiles(Context context) {
return FileUtils.deleteFilesInDir(context.getFilesDir());
}
/**
* 清除内部数据库
* <p>/data/data/com.xxx.xxx/databases</p>
*
* @param context 上下文
* @return {@code true}: 清除成功<br>{@code false}: 清除失败
*/
public static boolean cleanInternalDbs(Context context) {
return FileUtils.deleteFilesInDir(context.getFilesDir().getParent() + File.separator + "databases");
}
/**
* 根据名称清除数据库
* <p>/data/data/com.xxx.xxx/databases/dbName</p>
*
* @param context 上下文
* @param dbName 数据库名称
* @return {@code true}: 清除成功<br>{@code false}: 清除失败
*/
public static boolean cleanInternalDbByName(Context context, String dbName) {
return context.deleteDatabase(dbName);
}
/**
* 清除内部SP
* <p>/data/data/com.xxx.xxx/shared_prefs</p>
*
* @param context 上下文
* @return {@code true}: 清除成功<br>{@code false}: 清除失败
*/
public static boolean cleanInternalSP(Context context) {
return FileUtils.deleteFilesInDir(context.getFilesDir().getParent() + File.separator + "shared_prefs");
}
/**
* 清除外部缓存
* <p>/storage/emulated/0/android/data/com.xxx.xxx/cache</p>
*
* @param context 上下文
* @return {@code true}: 清除成功<br>{@code false}: 清除失败
*/
public static boolean cleanExternalCache(Context context) {
return SDCardUtils.isSDCardEnable() && FileUtils.deleteFilesInDir(context.getExternalCacheDir());
}
/**
* 清除自定义目录下的文件
*
* @param dirPath 目录路径
* @return {@code true}: 清除成功<br>{@code false}: 清除失败
*/
public static boolean cleanCustomCache(String dirPath) {
return FileUtils.deleteFilesInDir(dirPath);
}
/**
* 清除自定义目录下的文件
*
* @param dir 目录
* @return {@code true}: 清除成功<br>{@code false}: 清除失败
*/
public static boolean cleanCustomCache(File dir) {
return FileUtils.deleteFilesInDir(dir);
}
}