主要功能:清除内、外缓存,清除数据库,清除Sharepreference,清除files和清除自定义目录

public class DataCleanManager {

    //清除本应用内部缓存(/data/data/com.xxx.xxx/cache)
public static void cleanInternalCache(Context context) {
deleteFilesByDirectory(context.getCacheDir());
} //清除本应用所有数据库
public static void cleanDatabases(Context context) {
deleteFilesByDirectory(new File("/data/data/" + context.getPackageName() + "/databases"));
} //清除Sharepreference(/data/data/com.xxx.xxx/shared_prefs)
public static void cleanSharedPreferenced(Context context){
deleteFilesByDirectory(new File("/data/data/" +context.getPackageName() +"/shared_prefs"));
} //按名字清除本应用数据
public static void cleanDatabaseByName(Context context,String dbName){
context.deleteDatabase(dbName);
} //清除/data/data/com.xxx.xxx.files下的内容
public static void cleanFiles(Context context){
deleteFilesByDirectory(context.getFilesDir());
} //清除外部cache下的内容(/mnt/sdcard/android/data/com.xxx.xxx/cache)
public static void cleanExterbalCache(Context context){
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
deleteFilesByDirectory(context.getExternalCacheDir());
}
} //清除自定义路径下的文件,使用需小心。并且只支持目录下的文件删除
public static void cleanCustomCache(String filePath){
deleteFilesByDirectory(new File(filePath));
} //清除本应用所有数据
public static void cleanApplicationData(Context context ,String... filepath){
cleanInternalCache(context);
cleanExterbalCache(context);
cleanDatabases(context);
cleanSharedPreferenced(context);
cleanFiles(context);
for (String filePath : filepath){
cleanCustomCache(filePath);
}
} //删除方法,这里只会删除某个文件夹下的文件,如果传入的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清除本地数据缓存代码案例 直接上代码: /*  * 文 件 名:  DataCleanManager.java  * 描    述:  主要功能有清除内/外缓存,清除数据库,清除shar ...

  2. iOS //清除本地缓存

    //清除本地缓存 -(void)clearCache{ dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT ...

  3. Android ImageLoader 本地缓存

    Android ImageLoader 本地缓存 本地缓存                                                                        ...

  4. Android -- ImageLoader本地缓存

    传送门 <Android -- ImageLoader简析>  http://www.cnblogs.com/yydcdut/p/4008097.html 本地缓存 在缓存文件时对文件名称 ...

  5. RxJava(十)switchIfEmpty操作符实现Android检查本地缓存逻辑判断

    欢迎转载,转载请标明出处: http://blog.csdn.net/johnny901114/article/details/52585912 本文出自:[余志强的博客] switchIfEmpty ...

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

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

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

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

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

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

  9. 本地缓存下载文件,download的二次封装

    来源:http://ask.dcloud.net.cn/article/524 源码下载链接 说明: (1)由于平时项目中大量用到了附件下载等功能,所以就花了一个时间,把plus的downlaod进行 ...

随机推荐

  1. Treevalue(0x02)——函数树化详细解析(上篇)

    本文将对 func_treelize 这一treevalue库中的核心功能进行详细的原理解析. 关于treevalue的概述,可以参考之前的文章:Treevalue(0x01)--功能概述 树化函数基 ...

  2. anaconda无法launch应用(无法l打开任何应用)的问题解决 (点击应用无反应)

    遇到了anaconda 无法launch 任何应用. 重装也不行. 先说我最终的解决方法(在官方文档中找到): 1. 启动 anaconda prompt , 输入 conda remove anac ...

  3. 使用XAMPP创建Mysql数据库 要想在本地连接需要配置一下my.ini文件 配置如下:

    # Example MySQL config file for small systems. # # This is for a system with little memory (<= 64 ...

  4. building sasl.wrapper extention

    yum install gcc-c++ python-devel.x86_64 cyrus-sasl-devel.x86_64 pip install pyhs2 ref: https://www.o ...

  5. Kubernetes 中的 gRPC 负载均衡

    安装环境依赖 docker-desktop >= 4.1.1 kubernetes >= 1.21.5 go >= 1.17 protobuf >= 3.17.3 istioc ...

  6. 菜鸡的Java笔记 第三十二 - java 静态导入的实现

    静态导入的实现        为了理解静态导入的操作产生的动机,下面通过一个具体的代码来观察        范例:现在有一个 Import 的类,这个类中的方法全部都是 static 方法 packa ...

  7. 菜鸡的Java笔记 第十三 String 类的两种实例化方法

    String 类的两种实例化方法 String 类的两种实例化方式的区别 String 类对象的比较 Stirng 类对象的使用分析 /*    1.String 类的两种实例化方式的区别       ...

  8. C代码

    #include<stdio.h>#include<stdlib.h>void main(){    char    ch, file_name1[20], file_name ...

  9. 【GitHub】本地代码上传

    本地代码上传GitHub 2019-11-18  20:03:45  by冲冲 1.注册GitHub https://github.com/ 2.安装Git工具 https://git-for-win ...

  10. 反调试代码调试死机代码禁止F12代码

    反调试代码调试死机代码禁止F12代码  // 反调试函数,参数:开关,执行代码 function siji(){    var total="";    for (var i=0; ...