在Android

时间:2015-09-07 07:31:20

标签: android parse-platform

有谁知道如何从较新的库版本1.10上的解析安装中清除数据?在1.8中,您可以通过从内存中调用clear来通过反射来完成此操作,如此答案中所述:ParseObject mergeREST raise ConcurrentModificationException

我正在从网上删除解析安装,我还需要清除Android手机上的ram缓存,但我找不到办法。有什么想法吗?

2 个答案:

答案 0 :(得分:3)

通过在我的项目com.parse中创建一个包解决,在其中我放置了一个名为ParseEasyAccess.java的文件,它包含以下方法:

public static void clearParse() {
  ParseInstallation.getCurrentInstallationController().clearFromDisk();
  ParseInstallation.getCurrentInstallationController().clearFromMemory();
}

你可以在应用程序的任何地方调用它,它将清除所有来自RAM&的解析安装数据。磁盘。

答案 1 :(得分:0)

接受的答案不适用于sdk版本1.13.1。

访问这些方法的唯一方法是:

ParseInstallation installation = ParseInstallation.getCurrentInstallation();
Class clazz = installation.getClass();
Method[] methods = clazz.getDeclaredMethods();
Method method1 = clazz.getDeclaredMethod("getCurrentInstallationController");
method1.setAccessible(true);
Object result = method1.invoke(installation);

Method method2 = result.getClass().getDeclaredMethod("clearFromDisk");
method2.setAccessible(true);
String result2=(String) method2.invoke(result);

Method method3 = result.getClass().getDeclaredMethod("clearFromMemory");
method3.setAccessible(true);
String result3=(String) method3.invoke(result);