Android清除本地数据缓存代码案例

直接上代码:

/*  * 文 件 名:  DataCleanManager.java  * 描    述:  主要功能有清除内/外缓存,清除数据库,清除sharedPreference,清除files和清除自定义目录  */  package com.test.DataClean;    import java.io.File;   import android.content.Context;  import android.os.Environment;    /**  * 本应用数据清除管理器  */   public class DataCleanManager {     /**      * 清除本应用内部缓存(/data/data/com.xxx.xxx/cache)      *       * @param context      */    public static void cleanInternalCache(Context context) {       deleteFilesByDirectory(context.getCacheDir());      }        /**      * 清除本应用所有数据库(/data/data/com.xxx.xxx/databases)      *       * @param context      */     public static void cleanDatabases(Context context) {          deleteFilesByDirectory(new File("/data/data/"                 + context.getPackageName() + "/databases"));    }        /**      * 清除本应用SharedPreference(/data/data/com.xxx.xxx/shared_prefs)      *       * @param context      */     public static void cleanSharedPreference(Context context) {        deleteFilesByDirectory(new File("/data/data/"                 + context.getPackageName() + "/shared_prefs"));      }       /**      * 按名字清除本应用数据库      *       * @param context      * @param dbName      */      public static void cleanDatabaseByName(Context context, String dbName) {         context.deleteDatabase(dbName);      }       /**      * 清除/data/data/com.xxx.xxx/files下的内容      *       * @param context      */     public static void cleanFiles(Context context) {         deleteFilesByDirectory(context.getFilesDir());       }        /**      * 清除外部cache下的内容(/mnt/sdcard/android/data/com.xxx.xxx/cache)      *       * @param context      */    public static void cleanExternalCache(Context context) {       if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) {         deleteFilesByDirectory(context.getExternalCacheDir());         }       }      /**      * 清除自定义路径下的文件,使用需小心,请不要误删。而且只支持目录下的文件删除      *       * @param filePath      */    public static void cleanCustomCache(String filePath) {       deleteFilesByDirectory(new File(filePath));      }      /**      * 清除本应用所有的数据      *       * @param context      * @param filepath      */    public static void cleanApplicationData(Context context, String... filepath) {          cleanInternalCache(context);         cleanExternalCache(context);         cleanDatabases(context);          cleanSharedPreference(context);         cleanFiles(context);           for (String filePath : filepath) {          cleanCustomCache(filePath);       }      }       /**      * 删除方法 这里只会删除某个文件夹下的文件,如果传入的directory是个文件,将不做处理      *       * @param directory      */   private static void deleteFilesByDirectory(File directory) {       if (directory != null && directory.exists() && directory.isDirectory()) {        for (File item : directory.listFiles()) {              item.delete();              }          }      }   }

Android清除本地数据缓存代码案例的更多相关文章

  1. 【Android】Android清除本地数据缓存代码

    最近做软件的时候,遇到了缓存的问题,在网上看到了这个文章,感觉不错.分享给大家看看 文章出处:http://www.cnblogs.com/rayray/p/3413673.html /* * 文 件 ...

  2. Android清除本地数据缓存代码

    /*  * 文 件 名:  DataCleanManager.java  * 描    述:  主要功能有清除内/外缓存,清除数据库,清除sharedPreference,清除files和清除自定义目 ...

  3. iOS - LocalCache 本地数据缓存

    1.自定义方式本地数据缓存 1.1 自定义缓存 1 沙盒路径下的 Library/Caches 用来存放缓存文件,保存从网络下载的请求数据,后续仍然需要继续使用的文件,例如网络下载的离线数据,图片,视 ...

  4. 微信小程序开发:学习笔记[9]——本地数据缓存

    微信小程序开发:学习笔记[9]——本地数据缓存 快速开始 说明 本地数据缓存是小程序存储在当前设备上硬盘上的数据,本地数据缓存有非常多的用途,我们可以利用本地数据缓存来存储用户在小程序上产生的操作,在 ...

  5. 如何清除本地DNS缓存 windows

    在您的网站迁移服务器时需要对域名所指向的IP进行更改,这时候在本机访问网站时就需要清除本地的DNS缓存信息,那么怎样清除呢? 首先我们应该明白清除DNS缓存信息的原理:当计算机对域名访问时并不是每次访 ...

  6. 使用SQLite做本地数据缓存的思考

    前言 在一个分布式缓存遍地都是的环境下,还讲本地缓存,感觉有点out了啊!可能大家看到标题,就没有想继续看下去的欲望了吧.但是,本地缓存的重要性也是有的! 本地缓存相比分布式缓存确实是比较out和比较 ...

  7. Vista/Win7以上系统查看和清除本地DNS缓存新方法

    你是否因修改网站DNS解析后,却因本机DNS缓存而需要等待... 你是否遇到修改了本机的hosts文件后,必须重起firefox和ie才起作用... 其实只要清空DNS缓存这些问题都可以解决. 查看D ...

  8. Android 清除本地缓存

    主要功能:清除内.外缓存,清除数据库,清除Sharepreference,清除files和清除自定义目录 public class DataCleanManager { //清除本应用内部缓存(/da ...

  9. [2]项目创建-使用C#.NET开发基于本地数据缓存的PC客户端

    1.新建项目->已安装->模板->Visual c#->Windows桌面->Windows窗体应用程序,截图如下: 图中1:输入项目名称-“MoneyNotes”,图中 ...

随机推荐

  1. js的replace方法

    今天在项目中发现,js的replace方法,其实只是替换第一个匹配的字符: 比如 backstreetboy.replace('b','B') 得到的结果是Backstreetboy,只是替换了第一个 ...

  2. sqool导出oracle数据

    set colsep '|'               --设置|为列分隔符 set echo off --在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句 set fee ...

  3. centos系统自动化安装研究

    https://rhinstaller.github.io/anaconda/intro.html https://github.com/rhinstaller/pykickstart/blob/ma ...

  4. iPhone 6 (iOS 9.2) extractiion failed by XRY

    My colleague extracted an iPhone 6 with XRY and it is iOS 9.2 . Unfortunately the Wizard crashed and ...

  5. leetcode 121

    121. Best Time to Buy and Sell Stock Say you have an array for which the ith element is the price of ...

  6. javaSE第二十天

    第二十天    254 1:递归(理解)    254 (1)方法定义中调用方法本身的现象    254 (2)递归的注意事项    255 (3)递归的案例:    255 A:递归求阶乘    2 ...

  7. 设计模式-中介者模式(Mediator)

    场景分析: 众所周知,电脑有很多组成部分,如硬盘.内存.光驱.音频.键盘等,各个组件之间协同工作才能保证电脑的正常运行. 如果各个组件之间直接交互,可能会比较复杂,如下图: 将上面的各个组件抽象成类, ...

  8. 安装minicom串口访问开发板

    1. 安装minicom yum install minicom   2. 设置minicom minicom -s 选择“Serial port setup”,将“Serial Device”修改成 ...

  9. Command

    #include <iostream> using namespace std; #define DESTROY_POINTER(ptr) if (ptr) { delete ptr; p ...

  10. 关于javascript 里面类型的判断

    javacript至今共有7中类型 Six data types that are primitives: Boolean Null Undefined Number String Symbol (n ...