0
我想從我的應用程序使用這種本機方法泄漏。我可以看到「返回的方法」。在我的日誌中,但我似乎沒有丟失任何內存。我正在使用(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)
編輯:
我這樣做是因爲我想測試我的應用程序在內存不足的情況。
好的,那應該足以導致泄漏。不知道你爲什麼這樣做,或者你的問題是什麼。 –
我這樣做是因爲我想在低內存情況下測試我的應用程序。 –
我不確定MemoryInfo.availMem是否考慮到本地使用情況,或者它是否只是Java堆使用情況。你可能想看看https://developer.android.com/reference/android/os/Debug.MemoryInfo.html作爲信息的替代來源 –