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是你缓存的图片路径,注意图片路径的统一应该在你开始搭建应用就应该去注意的。

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

  • 相关阅读:
    【转载】使用Jquery操作Cookie对象
    PHP实现双向链表、栈
    Mysql触发器、模糊查找、存储过程、内置函数
    List、Set、Map、数组之间各种转换
    Android -- 压缩与解压文件
    Android -- 动态添加布局
    Android -- Service绑定解绑和aidl
    Android -- 图像处理(信息量超大)
    Android -- 利用Broadcast开启Service
    Android -- Service的开启关闭与生命周期
  • 原文地址:https://www.cnblogs.com/androidsuperman/p/3404907.html
Copyright © 2011-2022 走看看