试图导致原生泄漏

时间:2017-02-03 15:25:56

标签: android java-native-interface

我试图使用我的应用中的本机方法导致泄密。我可以看到"方法返回。"在我的日志中,但我似乎没有丢失任何内存。我使用(MemoryInfo.availMem / 1048576L)跟踪使用情况。

JNIEXPORT jstring JNICALL Java_com_app_native_Wrapper_causeLeak(JNIEnv *je, jclass jc, jint bytes) {
   char *p_array = calloc(bytes,sizeof(char));
   return (*je)->NewStringUTF(je, "Method returned.");
}

试图通过这种方法造成10MB泄漏:

Wrapper.causeLeak(10 * 1024 * 1024)

修改

我这样做是因为我想在内存不足的情况下测试我的应用程序。

1 个答案:

答案 0 :(得分:0)

我无法让这个工作,但我发现GitHub上的某个人建立了一个更好的方法。如果有人需要测试内存泄漏,请在此处使用存储库:https://github.com/T-Spoon/Android-Developer-Toolbelt