我正在发布一个新更新,它将完全从上一个版本更改我的应用程序构建。我希望该应用程序是最新的,并删除当前用户的所有旧的未缓存缓存和数据。 我该如何实现?我要使用什么正确的代码以及在哪里正确添加代码,我不是android开发方面的专家,因此请更具体地指导我。我检查了this question,但是没有提到清除数据和缓存的实际代码。
我的设置(如果需要):
// Android Studio 3.0
compileSdkVersion 26
buildToolsVersion '27.0.3' (Gradle)
minSdkVersion 16
targetSdkVersion 26
答案 0 :(得分:1)
当应用程序更新时,您可以在bordcast接收器类中监听事件,并在广播接收器的onReceive中进行清理。
您共享的链接中的以下注释:)具有所有详细信息。
答案 1 :(得分:0)
将其添加到MainActivity是清除缓存和数据的有效方法。
@Override
protected void onDestroy() {
super.onDestroy();
try {
trimCache(this);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void trimCache(Context context) {
try {
File dir = context.getCacheDir();
if (dir != null && dir.isDirectory()) {
deleteDir(dir);
}
} catch (Exception e) {
// TODO: handle exception
}
}
public static boolean deleteDir(File dir) {
if (dir != null && dir.isDirectory()) {
String[] children = dir.list();
for (int i = 0; i < children.length; i++) {
boolean success = deleteDir(new File(dir, children[i]));
if (!success) {
return false;
}
}
}
// The directory is now empty so delete it
return dir.delete();
}
}
在这里找到答案:Clear Application cache on exit in android。
现在,每次用户关闭应用程序时,都会清除缓存,它适用于 我,因为我不想让webview缓存,对于其他人 想要仅在更新时清除它,并使用onReceive实现 应该可以。