应用中清理缓存应用实现

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

 

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

你可能感兴趣的:(缓存)