gpt4 book ai didi

android - Android native 代码[C/C++]中的内存泄漏

转载 作者:行者123 更新时间:2023-11-30 17:43:03 32 4
gpt4 key购买 nike

我在android的“ android_media_MediaPlayer.cpp”中引入了内存泄漏,但没有释放该内存。请在下面介绍内存泄漏的函数中查找。

static void android_media_MediaPlayer_native_setup(JNIEnv *env, jobject thiz, jobject weak_this)
{
ALOGV("native_setup");
sp<MediaPlayer> mp = new MediaPlayer();

ALOGV("MEMORY LEAK - MediaPlayer");
char *MemoryLeak_MediaPlayer = (char *)malloc(100000);

if(mp == NULL) {
jniThrowException(env, "java/lang/RuntimeException", "Out of memory");
return;
}
// create new listener and give it to MediaPlayer
sp<JNIMediaPlayerListener> listener = new JNIMediaPlayerListener(env, thiz, weak_this);
mp->setListener(listener);
// Stow our new C++ MediaPlayer in an opaque field in the Java object.
setMediaPlayer(env, thiz, mp);
}


如何使用VALGRIND找出Android本机代码中的内存泄漏和内存损坏?
如果有人在使用其他工具,请说明操作步骤。

最佳答案

检查此工具MAT:Memory Analyzer Tool

希望这可以帮助。

关于android - Android native 代码[C/C++]中的内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20320918/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com