删除文件操作

/**
* 删除文件夹下的文件,不对文件夹处理
* @param directory
*/
private static void deleteFilesByDirectory(File directory) {if (directory != null && directory.exists() && directory.isDirectory()) {for (File item : directory.listFiles()) {boolean result = item.delete();     // 非空的文件夹会删除失败LogUtil.d(item.getName() + " 删除是否成功:" + result);}}
}

在此方法上,通过传入android相关目录路径则可以清除应用相关数据。

清除/data/data/xxx/cache目录下的文件如下:

/*** 清除/data/data/xxx/cache下的内容* @param context*/
public static void cleanInternalCache(Context context) {deleteFilesByDirectory(context.getCacheDir());
}

清除/data/data/xxx/files目录下的文件如下:

/**
* 清除/data/data/xxx/files下的内容
* @param context
*/
public static void cleanFiles(Context context) {deleteFilesByDirectory(context.getFilesDir());
}

清除外部cache下的文件,如下:

/*** 清除外部cache下的内容* @param context*/
public static void cleanExternalCache(Context context) {if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {deleteFilesByDirectory(context.getExternalCacheDir());}
}

清除应用的sp文件

/**
* 清除SharedPreference即/data/data/xxx/shared_prefs下的内容
* @param context
*/
public static void cleanSharedPreference(Context context) {deleteFilesByDirectory(new File("/data/data/"+ context.getPackageName() + "/shared_prefs"));
}

但是在应用中不推荐这么做,还是通过sp.editor对象的clear()方法来清空数据,而不是删除文件。 不过在实际中发现删除后再写入时还是会生成相应的文件,影响不大,可能的影响只是多了一次文件的创建。

清除数据库文件

/*** 清除应用所有数据库,也即/data/data/xxx/databases下的内容* 注意,清除后应用可能由于找不到数据库报错。* @param context*/
public static void cleanDatabases(Context context) {deleteFilesByDirectory(new File("/data/data/"+ context.getPackageName() + "/databases"));
}

通过此种方法清除文件更要注意了,数据库文件不像sp文件,不会自动创建。如果删除后还有数据库的读写操作,则会报错。 此时需要主动通过SqlLiteOpenerHelper.getWriteableDatabase方法来触发创建。所以如果只是想要清除数据的话建议还是通过SQL语句来remove。
此种方式是比较暴力的,直接删除数据库文件了。

android应用数据清理相关推荐

  1. Android应用数据清理命令(adb clear)的使用执行报错问题解决

    Android应用数据清理命令(adb clear)的使用&执行报错问题解决 清理应用数据 我们在调试 Android 应用时,经常需要清理应用数据,在手机设置里找,当然也可以做到清理数据,但 ...

  2. android 系统数据清理工具下载,Coolmuster Android Cleaner(数据清理软件)

    CoolmusterAndroidCleaner是一款针对安卓系统专业打造的清理软件,可以帮户用户清理应用程序缓存.应用程序cookie.应用程序临时文件.应用程序崩溃日志.下载的临时文件以及照片缓存 ...

  3. android 清理缓存动画,Android仿微信清理内存图表动画(解决surfaceView屏幕闪烁问题)demo实例详解...

    最近接了一个项目其中有功能要实现一个清理内存,要求和微信的效果一样.于是想到用surfaceView而不是继承view.下面小编给大家解析下实现思路. surfaceView是为了解决频繁绘制动画产生 ...

  4. 如何在Android实现桌面清理内存简单Widget小控件

    如何在Android实现桌面清理内存简单Widget小控件 我们经常会看到类似于360.金山手机卫士一类的软件会带一个widget小控件,显示在桌面上,上面会显示现有内存大小,然后会带一个按键功能来一 ...

  5. android 清除数据 管理空间,Android中如何将清除数据变为管理空间,进行自定义数据清除...

    偶然看到在Android手机的"应用程序信息"里面腾讯管家和手机百度的不能清除数据,显示的是管理空间,感觉这个挺有意思的,可以防止用户进行数据的清除,于是就查了一下,原来实现方式很 ...

  6. Python数据清理终极指南(2020版)

    作者 | Lianne & Justin 译者 | 陆离 出品 | AI科技大本营(ID:rgznai100) 一般来说,我们在拟合一个机器学习模型或是统计模型之前,总是要进行数据清理的工作. ...

  7. 独家 | 用于数据清理的顶级R包(附资源)

    作者:Anna Kayfitz,CEO of StrategicDB Corp 翻译:顾宇华 校对:杨光 本文约1700字,建议阅读5分钟. 确保数据干净整洁应该始终是数据科学工作流程中首要也是最重要 ...

  8. 臭名昭著的数据清理和准备问题,如何利用AI完美解决?

    2020-03-18 17:01:00 全文共3299字,预计学习时长10分钟 来源:Pexels 人工智能和深度学习在处理非结构化数据方面表现突出,从自然语言理解和自动知识库构建到图像和视频的分类和 ...

  9. 数据挖掘-数据清理过程

    数据清理-数据清理过程 数据清理过程的第一步是偏差检测(discrepancy detection). 导致偏差的因素有很多,包括: 具有很多可选字段的设计糟糕的输入表单 人为的数据输入错误 有意的错 ...

最新文章

  1. 大连交通大学c语言考试题库,川哥的吩咐 (C语言代码)本着追大连交通大学的故事番,来简单解答一波!!!...
  2. 最短路径算法——Dijkstra and Floyd算法
  3. 【语言处理与Python】1.4回到Python:决策与控制
  4. java基础(一) 深入解析基本类型
  5. Kubernetes的四种用户部署场景
  6. Java设计模式-Proxy代理模式
  7. Myeclipes连接Mysql数据库配置
  8. Hibernate Log4j日志记录
  9. nodeJs 控制台打印中文显示为Unicode解决方案
  10. 【OpenCV人脸识别2】从视频中检测人脸
  11. Server SAN:弄潮儿云计算时代
  12. vue + elementUI 框架下给el-table 增加一条数据,默认滚动条定位到表格的最底部
  13. mysql处理emoji表情_mysql支持emoji表情存取的解决方案
  14. 基于QT和C++实现的停车场管理系统
  15. px和毫米的换算_iOS尺寸单位pt、ppi与px之间换算关系
  16. 树莓派4B + darknet-yolov4-tiny + 英特尔第二代神经计算棒
  17. 一位ML工程师构建深度神经网络的实用技巧
  18. 关于java中的魔幻数字47你知道么
  19. unity上传头像_unity3d 上传本地PC图片
  20. C/C++动态数组delete时卡死或报错解决

热门文章

  1. 微信小程序API 文件·文件管理器
  2. 我的iphone6退货之路
  3. 最窄770px最宽1024px经典布局
  4. Kotlin--Sealed Class Sealed Interface
  5. ts讲解(接口interface)
  6. WORD: 如何在一个word里文档里创建多个目录?
  7. 关键字驱动和数据驱动
  8. Java VisualVM使用
  9. 计算机可爱的企鹅教案,北师大版数学一年级上册可爱的企鹅教案
  10. 几个C#编程的小技巧