ゲームでプレーヤーが勝ったか負けたかに応じて、スコア画面で単純な曲をループするアクティビティがあります。ただし、スコア アクティビティを終了した後、ガベージ コレクションが発生するまでサウンドがループし続けます。以下は私のコードのスニペットです。私は現在、ガベージコレクションを強制的に音を止めるようにしています! stop() または release() が機能しないのはなぜですか?
public void onPause(){
super.onPause();
_sounds.release();
}
public void load(){
_victory = MediaPlayer.create(mActivity, R.raw.victory);
_victory.setLooping(true);
_failure = MediaPlayer.create(mActivity, R.raw.flutedeath);
_failure.setLooping(true);
}
public void release(){
_victory.stop();
_victory.release();
_victory = null;
_failure.stop();
_failure.release();
_failure = null;
System.gc();
}