我遇到了一个奇怪的问题,并希望有人可以回答它。我有4x4按钮,如果我点击它们,每个按钮播放1秒短音。我的代码:
Button_1= (Button) findViewById(R.id.button1);
Button_1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (sound!=null){
sound.stop();
sound.release();
sound=null;
}
sound = MediaPlayer.create(Main.this, R.raw.short_sound);
sound.start();
}
});
所以会发生的是触摸行中的所有按钮,首先是按钮1,然后是按钮2,每次触摸它时,都会播放一个短音。但有时当我到达第14或第15或第16个按钮时,它不会播放它应该发出的声音。其他按钮工作,但不知何故,最后1,2或3有时不播放任何声音。如果我开始向后触摸按钮,那么我首先触摸第16个按钮它总是有效,但是第一个和第二个按钮可能保持静音。
可能是什么原因引起的? LogCat不写任何东西。
答案 0 :(得分:0)
当您调用MediaPlayer.create()时,您将分配不一定由GC机制释放的资源。您应该手动释放MediaPlayer.release()例程。当你完成对象