android应用缓存清除的方法
以下方法为网上找到的方法:一、
如何删除项目的缓存:
getCacheDir()能够得到当前项目的缓存地址
在项目中经常会使用到WebView 控件,当加载html 页面时,会在/data/data/应用package 目录下生成database与cache 两个文件夹。请求的url 记录是保存在WebViewCache.db,而url 的内容是保存在WebViewCache 文件夹下
打开关闭使用缓存,一共有五个种类
//优先使用缓存:
WebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
//不使用缓存:
WebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
在退出应用的时候加上如下代码
File file = CacheManager.getCacheFileBaseDir();
if (file != null && file.exists() && file.isDirectory()) {
for (File item : file.listFiles()) {
item.delete();}
file.delete();}
context.deleteDatabase("WebView.db");
context.deleteDatabase("WebViewCache.db");
File file = CacheManager.getCacheFileBaseDir();
if (file != null && file.exists() && file.isDirectory()) {
for (File item : file.listFiles()) {
item.delete();}
file.delete();}
context.deleteDatabase("WebView.db");
context.deleteDatabase("WebViewCache.db");
二、
我们在做软件时,当程序里使用了webview,就会缓存了很多东西,所以要清除一下,才能让软件跑的更快。实际上是清除data文件夹下面的cache,以及databases文件夹下面的东西。
用下面代码去处理,可以把两个文件夹下面的东西删除
clearCacheFolder(BaseActivity.this.getCacheDir(), System.currentTimeMillis());
BaseActivity.this.deleteDatabase("webview.db");
BaseActivity.this.deleteDatabase("webviewCache.db");
clearCacheFolder(BaseActivity.this.getCacheDir(), System.currentTimeMillis());
BaseActivity.this.deleteDatabase("webview.db");
BaseActivity.this.deleteDatabase("webviewCache.db");
被调用的方法:
private int clearCacheFolder(File dir, long numDays) {
int deletedFiles = 0;
if (dir!= null && dir.isDirectory()) {
try {
for (File child:dir.listFiles()) {
LogUtlis.i("info", "child=========="+child.getName());
if (child.isDirectory()) {
deletedFiles += clearCacheFolder(child, numDays);
}
if (child.lastModified() < numDays) {
if (child.delete()) {
deletedFiles++;
}
}
}
} catch(Exception e) {
e.printStackTrace();
}
}
return deletedFiles;
}
private int clearCacheFolder(File dir, long numDays) {
int deletedFiles = 0;
if (dir!= null && dir.isDirectory()) {
try {
for (File child:dir.listFiles()) {
LogUtlis.i("info", "child=========="+child.getName());
if (child.isDirectory()) {
deletedFiles += clearCacheFolder(child, numDays);
}
if (child.lastModified() < numDays) {
if (child.delete()) {
deletedFiles++;
}
}
}
} catch(Exception e) {
e.printStackTrace();
}
}
return deletedFiles;
}
以上是本文关于android应用缓存清除的方法的详细讲解,希望本文对广大安卓开发者有所帮助,感谢阅读本文。更多安卓技术问题欢迎加群探讨:278744577,验证码:cs,不写验证不予通过哟~ 清源教育 android 代码 应用缓存清除 方法 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 额 --------------------编程问答-------------------- 有没有获取缓存文件大小的方法? --------------------编程问答-------------------- --------------------编程问答-------------------- 缓存文件大小(new File(path)).length();
补充:移动开发 , Android