zoukankan      html  css  js  c++  java
  • 应用中清理缓存应用实现

    现在的android应用会在SD卡中出现大量的图片缓存,时间越长,积累的缓存越来越多,从用户的角度分析肯定是不好的,因此应该在你写的应用写个手动清理缓存SD缓存的代码处理,不废话,具体实现如下:

    1),文件操作类:

    import java.io.File;
    import java.io.IOException;
    
    import android.text.TextUtils;
    /**
     * 
     * @ClassName: FileUtils 
     * @Description: TODO(文件处理类) 
     * 
     * @Author: 王富彬
     * @Date: 2013-11-3 下午1:33:41
     *
     * @Update by: wangfubin
     * @Update time: 2013-11-3 下午1:33:41
     *
     * @AppName:
     * @Version:
     * @company:
    *
     */
    public class FileUtils {
        /**
         * 
        * @Title: deleteFolderFile 
        * @Description: TODO(清除缓存功能实现) 
        * @param @param filePath 缓存路径
        * @param @param deleteThisPath 是否缓存
        * @param @throws IOException    设定文件 
        * @return void    返回类型 
        * @throws
         */
        public static void deleteFolderFile(String filePath, boolean deleteThisPath)  
                throws IOException {  
            if (!TextUtils.isEmpty(filePath)) {  
                File file = new File(filePath);  
      
                if (file.isDirectory()) {// 处理目录  
                    File files[] = file.listFiles();  
                    for (int i = 0; i < files.length; i++) {  
                        deleteFolderFile(files[i].getAbsolutePath(), true);  
                    }  
                }  
                if (deleteThisPath) {  
                    if (!file.isDirectory()) {// 如果是文件,删除  
                        file.delete();  
                    } else {// 目录  
                        if (file.listFiles().length == 0) {// 目录下没有文件或者目录,删除  
                            file.delete();  
                        }  
                    }  
                }  
            }  
        }  
    
    }

    2),在异步加载图片中统一图片缓存路径;

    3),清理文件缓存操作;

    try {
                                        FileUtils.deleteFolderFile(Environment.getExternalStorageDirectory().getPath()+"/cache", false);
                                        Toast.makeText(SettingActivity.this, “缓存成功”, 2000).show();
                                    } catch (IOException e) {
                                        // TODO Auto-generated catch block
                                        e.printStackTrace();
                                    }

    注意cache是你缓存的图片路径,注意图片路径的统一应该在你开始搭建应用就应该去注意的。

    希望我的博文对你有所帮助,如有错误,请指正,谢谢

  • 相关阅读:
    CentOS 6.4 利用 Awstats 7.2 分析 Nginx 日志
    CentOS 6.4 x64 postfix + dovecot + 虚拟用户认证
    配置日志logwarch 每天发送到邮箱
    CentOSx64 安装 Gearmand 和 Gearman php扩展
    Redis之基本介绍
    Synchronized锁的基本介绍
    Lock的基本介绍
    java之threadlocal的使用
    Java之事务的基本应用
    linux之cp和scp的使用
  • 原文地址:https://www.cnblogs.com/androidsuperman/p/3404907.html
Copyright © 2011-2022 走看看