我试图使用我的应用中的本机方法导致泄密。我可以看到"方法返回。"在我的日志中,但我似乎没有丢失任何内存。我使用(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)
修改
我这样做是因为我想在内存不足的情况下测试我的应用程序。
答案 0 :(得分:0)
我无法让这个工作,但我发现GitHub上的某个人建立了一个更好的方法。如果有人需要测试内存泄漏,请在此处使用存储库:https://github.com/T-Spoon/Android-Developer-Toolbelt