gpt4 book ai didi

android - 使用 MediaPlayer 后释放消耗的内存

转载 作者:行者123 更新时间:2023-11-29 01:55:38 26 4
gpt4 key购买 nike

我正在开发一个包含 100 多种音效的应用程序。播放一些声音后,应用力关闭。我知道问题是会消耗内存的所有可用空间。我尝试使用 Release() 方法,但在调用此方法后我无法再次播放声音。我还尝试使用 onDestroy() 方法将媒体播放器的对象设置为 null 但由于这类对象必须是最终的,所以我不能这样做。你有什么建议?这是我的代码:

final MediaPlayer mp1 = MediaPlayer.create(MainActivity.this, R.raw.a1);

btn1.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {

if (i[0] == false)
{

mp1.start();
Toast.makeText(getBaseContext(), "horn", Toast.LENGTH_SHORT).show();

b1.setBackgroundResource(R.drawable.stop_button);

i[0] = true;

}
else
{

mp1.pause();
mp1.seekTo(0);

b1.setBackgroundResource(R.drawable.horn);

i[0] = false;

}

}
});

mp1.setOnCompletionListener(new OnCompletionListener() {

@Override
public void onCompletion(MediaPlayer mp) {

b1.setBackgroundResource(R.drawable.horn);

}
});

最佳答案

你试过这样的事情吗?

可以在OnDestroy()方法中调用release()

 @Override
public void onDestroy(){
super.onDestroy();
mp.release();
}

关于android - 使用 MediaPlayer 后释放消耗的内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15323406/

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