我需要在不强制关闭应用程序的情况下清除应用程序的缓存。我需要应用程序继续运行。我正在使用espresso来测试应用程序,但我需要在应用程序启动之前清除缓存。有没有可行的办法呢?
public static void clearPreferences(Activity activity) {
try {
// clearing app data
String packageName = activity.getPackageName();
Runtime runtime = Runtime.getRuntime();
runtime.exec("pm clear "+packageName);
} catch (Exception e) {
e.printStackTrace();
}
}
这就是我所拥有的。但它会关闭应用程序并终止测试用例
答案 0 :(得分:0)
点击下面的链接,对您有所帮助。
Clear Cache in Android Application programmatically
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;
}
}
在清单中添加权限
<uses-permission android:name="android.permission.CLEAR_APP_CACHE"/>