Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 音频内存泄漏?_Java_Android_Media Player - Fatal编程技术网

Java 音频内存泄漏?

Java 音频内存泄漏?,java,android,media-player,Java,Android,Media Player,我可以在android上创建一个简单的应用程序,并使用来自5个音频文件的声音效果,但我不能释放对象的内存 mBackground = MediaPlayer.create(context, R.raw.intro); mRiver = MediaPlayer.create(context, R.raw.river); mClapping = MediaPlayer.create(context, R.raw.ap); mTap = MediaPl

我可以在android上创建一个简单的应用程序,并使用来自5个音频文件的声音效果,但我不能释放对象的内存

mBackground = MediaPlayer.create(context, R.raw.intro);
        mRiver  = MediaPlayer.create(context, R.raw.river);
        mClapping = MediaPlayer.create(context, R.raw.ap);
        mTap = MediaPlayer.create(context, R.raw.tap);
        mError = MediaPlayer.create(context, R.raw.error);
        mWonder = MediaPlayer.create(context, R.raw.ap2);
        if(GameDashBoard.soundInGame) {mBackground.start(); mBackground.setLooping(true);
并且可以释放内存,但此代码不工作

mRiver.release();
mClapping.release();
mTap.release();
mWonder.release();

问题是打印日志cat音频缓存堆溢出。

声音池将在内存中保留所有声音。您可能只需要一个media player实例。您应该这样做,您的内存问题应该会消失,而不必采取任何极端措施。

soundpool会将所有声音保留在内存中。您可能只需要一个media player实例。您应该这样做,您的内存问题应该会消失,而不必采取任何极端措施。

您可以发布相关代码吗?好的,当然可以,请检查更新代码。请解决我的问题,以获得一个很好的答案。谢谢请问一个问题不,标题不是一个问题,请不要在帖子中留下这样的噪音。对不起,我的问题是-你能发布相关代码吗?好的,当然,请检查更新代码。请解决我的问题,获得一个好的答案。谢谢请问一个问题不,标题不是一个问题,请不要在帖子中发出这样的噪音。对不起,我的问题是-