Cache clear
package beautiful.life.saychat.func;
import android.content.Context;
import java.io.File;
public class CacheUtils {
public static void clearCache(Context context) {
// try {
// File cacheDir = context.getCacheDir();
// if (cacheDir != null && cacheDir.isDirectory()) {
// deleteDir(cacheDir);
// }
// } catch (Exception e) {
// e.printStackTrace(); // Handle exceptions appropriately
// }
//
// try {
// File codeCacheDir = context.getCodeCacheDir();
// if(codeCacheDir != null && codeCacheDir.isDirectory()){
// deleteDir(codeCacheDir);
// }
// }catch (Exception e){
// e.printStackTrace();
// }
}
private static boolean deleteDir(File dir) {
if (dir != null && dir.isDirectory()) {
String[] children = dir.list();
if (children != null) {
for (String child : children) {
boolean success = deleteDir(new File(dir, child));
if (!success) {
return false;
}
}
}
}
// The directory is now empty so delete it
if(dir != null){
return dir.delete();
}
return false;
}
public static void clearExternalCache(Context context){
try{
File externalCacheDir = context.getExternalCacheDir();
if(externalCacheDir != null && externalCacheDir.isDirectory()){
deleteDir(externalCacheDir);
}
}catch(Exception e){
e.printStackTrace();
}
}
public static long getCacheSize(Context context){
long size = 0;
try{
File cacheDir = context.getCacheDir();
if(cacheDir != null && cacheDir.isDirectory()){
size += getDirSize(cacheDir);
}
File codeCacheDir = context.getCodeCacheDir();
if(codeCacheDir != null && codeCacheDir.isDirectory()){
size += getDirSize(codeCacheDir);
}
File externalCacheDir = context.getExternalCacheDir();
if(externalCacheDir != null && externalCacheDir.isDirectory()){
size += getDirSize(externalCacheDir);
}
}catch (Exception e){
e.printStackTrace();
}
return size;
}
private static long getDirSize(File dir) {
long size = 0;
if (dir != null && dir.isDirectory()) {
File[] files = dir.listFiles();
if (files != null) {
for (File file : files) {
if (file.isDirectory()) {
size += getDirSize(file);
} else {
size += file.length();
}
}
}
}
return size;
}
}
'android source ' 카테고리의 다른 글
bluetooth detect (1) | 2025.08.15 |
---|---|
Screen On 상태 확인 (0) | 2025.07.20 |
scheduler 로 task repeating (1) | 2025.07.08 |
BlockedQue Operation (1) | 2025.03.18 |
내 앱이 화면 전면에 있나 확인하는 법 (0) | 2025.02.25 |