当前位置: 首页 > 科技观察

Android清除本地数据缓存代码案例

时间:2023-03-14 10:47:28 科技观察

直接上传代码:/**文件名:DataCleanManager.java*描述:主要功能包括清除内部/外部缓存、清除数据库、清除sharedPreference、清除文件和清除自定义目录*/packagecom.test.DataClean;importjava.io.File;importandroid.content.Context;importandroid.os.Environment;/***本应用数据清理管理器*/publicclassDataCleanManager{/***清除本应用内部缓存(/data/data/com.xxx.xxx/cache)**@paramcontext*/publicstaticvoidcleanInternalCache(Contextcontext){deleteFilesByDirectory(context.getCacheDir());}/***清除这个应用的所有数据库(/data/data/com.xxx.xxx/databases)**@paramcontext*/publicstaticvoidcleanDatabases(Contextcontext){deleteFilesByDirectory(newFile("/data/data/"+context.getPackageName()+"/databases"));}/***清除这个应用SharedPreference(/data/data/com.xxx.xxx/shared_prefs)**@paramcontext*/publicstaticvoidcleanSharedPreference(Contextcontext){deleteFilesByDirectory(newFile("/data/data/"+context.getPackageName()+"/shared_prefs"));}/***清除这个应用名称数据库**@paramcontext*@paramdbName*/publicstaticvoidcleanDatabaseByName(Contextcontext,StringdbName){context.deleteDatabase(dbName);}/***清除/data/data/com.xxx.xxx/files下的内容**@paramcontext*/publicstaticvoidcleanFiles(Contextcontext){deleteFilesByDirectory(context.getFilesDir());}/***清除外部缓存(/mnt/sdcard/android/data/com.xxx.xxx/cache)下的内容**@paramcontext*/publicstaticvoidcleanExternalCache(Contextcontext){if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){deleteFilesByDirectory(context.getExternalCacheDir());}}/***清除自定义路径下的文件,谨慎使用,请勿误删。并且只支持目录下的文件删除**@paramfilePath*/publicstaticvoidcleanCustomCache(StringfilePath){deleteFilesByDirectory(newFile(filePath));}/***清除本应用的所有数据**@paramcontext*@paramfilepath*/publicstaticvoidcleanApplicationData(上下文上下文,字符串...文件路径){cleanInternalCache(上下文);cleanExternalCache(上下文);cleanDatabases(上下文);cleanSharedPreference(上下文);cleanFiles(上下文);for(StringfilePath:文件路径){cleanCustomCache(文件路径);}}/***这里的delete方法只会删除某个文件夹下的文件,如果传入的目录是文件,则不会处理**@param目录*/privatestaticvoiddeleteFilesByDirectory(Filedirectory){if(directory!=null&&directory.exists()&&directory.isDirectory()){for(Fileitem:directory.listFiles()){item.delete();}}}}