当前位置:编程学习 > wap >>

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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,