使用代码实现Android的清除数据的功能

原创 2015年07月08日 13:36:24

清除数据

清除数据主要是清除用户配置,比如SharedPreferences、数据库等等,这些数据都是在程序运行过程中保存的用户配置信息,清除数据后,下次进入程序就和第一次进入程序时一样;


代码实现方法:

/**
* 清除应用缓存的用户数据,同时停止所有服务和Alarm定时task
* String cmd = "pm clear " + packageName;
* String cmd = "pm clear " + packageName  + " HERE";
* Runtime.getRuntime().exec(cmd)
* @param packageName
* @return
*/
public static Process clearAppUserData(String packageName) {
Process p = execRuntimeProcess("pm clear " + packageName);
if (p == null) {
LogTag.log("Clear app data packageName:" + packageName
+ ", FAILED !");
} else {
LogTag.log("Clear app data packageName:" + packageName
+ ", SUCCESS !");
}
	return p;
}
</pre><pre name="code" class="java"><pre name="code" class="java">public static Process execRuntimeProcess(String commond) {
Process p = null;
try {
p = Runtime.getRuntime().exec(commond);
} catch (IOException e) {
LogTag.log("exec Runtime commond:" + commond + ", IOException" + e);
e.printStackTrace();
}
LogTag.log("exec Runtime commond:" + commond + ", Process:" + p);
return p;
}
}



清除缓存

缓存是程序运行时的临时存储空间,它可以存放从网络下载的临时图片,从用户的角度出发清除缓存对用户并没有太大的影响,但是清除缓存后用户再次使用该APP时,由于本地缓存已经被清理,所有的数据需要重新从网络上获取,注意:为了在清除缓存的时候能够正常清除与应用相关的缓存,请将缓存文件存放在getCacheDir()或者 getExternalCacheDir()路径下。比如对微信清除缓存,则聊天记录、朋友圈缓存的用户头像、图片、文字等信息都会被清除掉,清除缓存后再次进入微信时你会发现消息记录被清空了,朋友圈的图片和用户头像需要加载一会才能正常显示。

一键清理

一键清理是系统级别的功能,它主要是杀后台进程,以达到释放内存的目的,但杀掉哪些进程和清理时设置的重要值阈值有关,重要值越大说明进程重要程度越低,如果在清理时某个进程的重要值大于该阈值,该进程就会被杀掉。比如微信等应用在后台,一件清理后会将微信和与之相关的服务都杀掉(有的服务做了特殊处理,杀不死!!!)。





Listview动态添加/删除数据

这里是针对list的数据添加/删除方式,其他的数据方式相同。 布局很简单: ...
  • yueqinglkong
  • yueqinglkong
  • 2013年12月04日 23:18
  • 25495

android实现 彻底退出应用/清除数据/卸载应用的方法

还在为不能完全退出Android应用而发愁吗? 还在为不能彻底清除应用数据纠结吗? 还在为无法停止后台Service而苦恼吗? 不用了着急,试试我的办法。。...
  • zhanghao_Hulk
  • zhanghao_Hulk
  • 2014年10月28日 13:53
  • 21108

Android O :清除应用数据

本篇博客主要以Android O的代码为例,分析一下清除应用数据的流程。
  • Gaugamela
  • Gaugamela
  • 2017年11月22日 17:16
  • 409

Android本应用数据清除管理器

  • 2017年09月08日 10:07
  • 5KB
  • 下载

Android缓存处理和清除数据、清除缓存、一键清理的区别

在Android设备中,我们经常会看到与系统或者应用相关的清除功能有:清除数据、清除缓存、一键清理,这么多清除功能对于一个程序猿就够难理解了,偏偏很多安卓设备上都有这些功能,对于用户来说就更难理解,趁...
  • wangyaqian1212
  • wangyaqian1212
  • 2016年10月08日 09:39
  • 3083

Android中数据库的一些操作(增删改查)

提起Android的开发,就不得不提数据库,几乎每个App中都会用到Sqlit数据库存储一些数据,小编闲暇时期,写了一个小demo关于数据库的增删改查,之前也介绍过数据库的一个开源框架ORMLite,...
  • w_l_s
  • w_l_s
  • 2017年03月15日 18:42
  • 2188

android开发之SQLite数据库 增、删、改、查

学习android开发不可避免的会涉及数据库的使用,android使用的是SQLite数据库。对于SQLite数据库的基本星系...
  • zzy916853616
  • zzy916853616
  • 2011年07月12日 15:03
  • 40424

Android本应用数据清除管理器

本应用数据清除管理器 package com.loopj.android.http.manager; import java.io.File; import android.conten...
  • gao_chun
  • gao_chun
  • 2015年04月30日 10:11
  • 4570

Android一键清除某个应用下的数据

Android一键清除某个应用下的数据,我这里是针对android
  • yixiaoweihaha1
  • yixiaoweihaha1
  • 2014年07月04日 17:32
  • 2784

(原创)Android 清除第三方应用的数据缓存实现(包括清除系统应用缓存)

前言 最近公司有对安装好的应用的数据要求进行清理数据缓存需求,也就查找相关资料实现了,清除自身的缓存简单,但是要是想清除其他第三方应用这个就要消耗点精力了,因为android将clearApplica...
  • lnn368
  • lnn368
  • 2016年09月27日 19:59
  • 4620
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用代码实现Android的清除数据的功能
举报原因:
原因补充:

(最多只允许输入30个字)