android应用数据清理
删除文件操作
/**
* 删除文件夹下的文件,不对文件夹处理
* @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应用数据清理相关推荐
- Android应用数据清理命令(adb clear)的使用执行报错问题解决
Android应用数据清理命令(adb clear)的使用&执行报错问题解决 清理应用数据 我们在调试 Android 应用时,经常需要清理应用数据,在手机设置里找,当然也可以做到清理数据,但 ...
- android 系统数据清理工具下载,Coolmuster Android Cleaner(数据清理软件)
CoolmusterAndroidCleaner是一款针对安卓系统专业打造的清理软件,可以帮户用户清理应用程序缓存.应用程序cookie.应用程序临时文件.应用程序崩溃日志.下载的临时文件以及照片缓存 ...
- android 清理缓存动画,Android仿微信清理内存图表动画(解决surfaceView屏幕闪烁问题)demo实例详解...
最近接了一个项目其中有功能要实现一个清理内存,要求和微信的效果一样.于是想到用surfaceView而不是继承view.下面小编给大家解析下实现思路. surfaceView是为了解决频繁绘制动画产生 ...
- 如何在Android实现桌面清理内存简单Widget小控件
如何在Android实现桌面清理内存简单Widget小控件 我们经常会看到类似于360.金山手机卫士一类的软件会带一个widget小控件,显示在桌面上,上面会显示现有内存大小,然后会带一个按键功能来一 ...
- android 清除数据 管理空间,Android中如何将清除数据变为管理空间,进行自定义数据清除...
偶然看到在Android手机的"应用程序信息"里面腾讯管家和手机百度的不能清除数据,显示的是管理空间,感觉这个挺有意思的,可以防止用户进行数据的清除,于是就查了一下,原来实现方式很 ...
- Python数据清理终极指南(2020版)
作者 | Lianne & Justin 译者 | 陆离 出品 | AI科技大本营(ID:rgznai100) 一般来说,我们在拟合一个机器学习模型或是统计模型之前,总是要进行数据清理的工作. ...
- 独家 | 用于数据清理的顶级R包(附资源)
作者:Anna Kayfitz,CEO of StrategicDB Corp 翻译:顾宇华 校对:杨光 本文约1700字,建议阅读5分钟. 确保数据干净整洁应该始终是数据科学工作流程中首要也是最重要 ...
- 臭名昭著的数据清理和准备问题,如何利用AI完美解决?
2020-03-18 17:01:00 全文共3299字,预计学习时长10分钟 来源:Pexels 人工智能和深度学习在处理非结构化数据方面表现突出,从自然语言理解和自动知识库构建到图像和视频的分类和 ...
- 数据挖掘-数据清理过程
数据清理-数据清理过程 数据清理过程的第一步是偏差检测(discrepancy detection). 导致偏差的因素有很多,包括: 具有很多可选字段的设计糟糕的输入表单 人为的数据输入错误 有意的错 ...
最新文章
- 大连交通大学c语言考试题库,川哥的吩咐 (C语言代码)本着追大连交通大学的故事番,来简单解答一波!!!...
- 最短路径算法——Dijkstra and Floyd算法
- 【语言处理与Python】1.4回到Python:决策与控制
- java基础(一) 深入解析基本类型
- Kubernetes的四种用户部署场景
- Java设计模式-Proxy代理模式
- Myeclipes连接Mysql数据库配置
- Hibernate Log4j日志记录
- nodeJs 控制台打印中文显示为Unicode解决方案
- 【OpenCV人脸识别2】从视频中检测人脸
- Server SAN:弄潮儿云计算时代
- vue + elementUI 框架下给el-table 增加一条数据,默认滚动条定位到表格的最底部
- mysql处理emoji表情_mysql支持emoji表情存取的解决方案
- 基于QT和C++实现的停车场管理系统
- px和毫米的换算_iOS尺寸单位pt、ppi与px之间换算关系
- 树莓派4B + darknet-yolov4-tiny + 英特尔第二代神经计算棒
- 一位ML工程师构建深度神经网络的实用技巧
- 关于java中的魔幻数字47你知道么
- unity上传头像_unity3d 上传本地PC图片
- C/C++动态数组delete时卡死或报错解决