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

来源:互联网 发布:救援夫妇知乎 编辑:程序博客网 时间:2024/06/06 14:01

清除数据

清除数据主要是清除用户配置,比如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()路径下。比如对微信清除缓存,则聊天记录、朋友圈缓存的用户头像、图片、文字等信息都会被清除掉,清除缓存后再次进入微信时你会发现消息记录被清空了,朋友圈的图片和用户头像需要加载一会才能正常显示。

一键清理

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





0 0
原创粉丝点击