这篇文章主要介绍了Android清除应用缓存的两种方法,帮助大家更好的理解和学习使用Android,感兴趣的朋友可以了解下
第一种
使用ActivityManager中的clearApplicationUserData方法,代码如下:
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
am.clearApplicationUserData();
这种方式的问题就是不知清除cache,连带应用的data也删除了。如下图所示:
PackageManager packageManager = context.getPackageManager();
Method method;
try {
method = PackageManager.class.getDeclaredMethod("deleteApplicationCacheFiles", String.class, IPackageDataObserver.class);
method.invoke(packageManager, packageName, new ClearUserDataObserver());
} catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
e.printStackTrace();
}
static class ClearUserDataObserver extends IPackageDataObserver.Stub {
public void onRemoveCompleted(final String packageName, final boolean succeeded) {
Log.i(TAG, "IPackageDataObserver succeeded: " + succeeded);
}
}
这种方式只会清除cache,有需要只清除缓存,可以是用这种方式。IPackageDataObserver需要自己放到项目的aidi文件夹中,如下图所示:
两种方式都需要有系统权限,声明为系统应用并且签系统签名才能调用成功。
以上就是Android清除应用缓存的两种方法的详细内容,更多关于Android清除应用缓存的资料请关注编程学习网其它相关文章!
沃梦达教程
本文标题为:Android清除应用缓存的两种方法
猜你喜欢
- Android实现监听音量的变化 2023-03-30
- Android MaterialButton使用实例详解(告别shape、selector) 2023-06-16
- 详解flutter engine 那些没被释放的东西 2022-12-04
- Flutter实现底部和顶部导航栏 2022-08-31
- 作为iOS开发,这道面试题你能答出来,说明你基础很OK! 2023-09-14
- SurfaceView播放视频发送弹幕并实现滚动歌词 2023-01-02
- Android实现轮询的三种方式 2023-02-17
- 最好用的ios数据恢复软件:PhoneRescue for Mac 2023-09-14
- iOS 对当前webView进行截屏的方法 2023-03-01
- Android studio实现动态背景页面 2023-05-23
