Android清除本地数据缓存

import java.io.File;
import android.content.Context;
import android.os.Environment;

 
//清除本应用内部缓存(/data/data/com.xxx.xxx/cache)  
public static void cleanInternalCache(Context context)
{
    deleteFilesByDirectory(context.getCacheDir());     
}

//清除本应用所有数据库(/data/data/com.xxx.xxx/databases)
public static void cleanDatabases(Context context)
{
    deleteFilesByDirectory(new File("/data/data/" + context.getPackageName() + "/databases"));   
}
//按名字清除本应用数据库   
public static void cleanDatabaseByName(Context context, String dbName)
{
    context.deleteDatabase(dbName);
}

//清除本应用SharedPreference(/data/data/com.xxx.xxx/shared_prefs)
public static void cleanSharedPreference(Context context)
{
    deleteFilesByDirectory(new File("/data/data/" + context.getPackageName() + "/shared_prefs"));
}

//清除/data/data/com.xxx.xxx/files下的内容   
public static void cleanFiles(Context context)
{ 
    deleteFilesByDirectory(context.getFilesDir());      
}
     
//清除外部cache下的内容(/mnt/sdcard/android/data/com.xxx.xxx/cache)
public static void cleanExternalCache(Context context)
{
    if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED))
        deleteFilesByDirectory(context.getExternalCacheDir());        
}
   
//清除自定义路径下的文件,使用需小心,请不要误删。而且只支持目录下的文件删除
public static void cleanCustomCache(String filePath)
{      
    deleteFilesByDirectory(new File(filePath));     
}
    
//清除本应用所有的数据
public static void cleanApplicationData(Context context, String... filepath)
{         
    cleanInternalCache(context);        
    cleanExternalCache(context);        
    cleanDatabases(context);         
    cleanSharedPreference(context);        
    cleanFiles(context);          
    
    for (String filePath : filepath)
        cleanCustomCache(filePath);
}
 
//删除某个文件夹下的文件,如果传入的directory是个文件,将不做处理
private static void deleteFilesByDirectory(File directory)
{
    if (directory != null && directory.exists() && directory.isDirectory())
    {
        for (File item : directory.listFiles())
            item.delete();
    }
}



你可能感兴趣的:(Android清除本地数据缓存)