gpt4 book ai didi

java - 注销时如何清除android中的缓存?

转载 作者:行者123 更新时间:2023-12-01 17:26:18 25 4
gpt4 key购买 nike

我的应用程序有问题,当用户登录时,它将在 ListView 中显示他的数据,并且我还将他的数据保存到缓存中,以便我可以最大限度地减少用户的请求,除非他会滑动刷新Listview就会有另一个请求,并且会清除缓存。

但我遇到的问题是,当用户注销,另一个用户使用他们正在使用的同一部手机登录应用程序时,将登录的新用户将看到前一个用户拥有的数据,这是因为有缓存,所以新用户需要滑动刷新来清除缓存,现在他就可以看到他的数据了。

这是我注销时的代码。

    public void logoutProfileUser(){
session.setLogin(false);

db_login.deleteUsers();
db_profile.deleteUserProfile();

// Launching the login activity
Intent intent = new Intent(getContext(), LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK |Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}

我使用 Volley 来保存缓存,当用户单击注销按钮时是否可以清除缓存?任何帮助将不胜感激。

最佳答案

public static void deleteCache(Context context) {
try {
File dir = context.getCacheDir();
deleteDir(dir);
} catch (Exception e) {}
}
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;
}
}
return dir.delete();
} else if(dir!= null && dir.isFile()) {
return dir.delete();
} else {
return false;
}
}

关于java - 注销时如何清除android中的缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61204844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com