Android MediaPlayer 在使用完毕后需要调用 release() 方法来释放资源,否则可能会出现问题。如果未正确释放资源,可能会导致内存泄漏或无法再次使用 MediaPlayer。
以下是一个示例代码,展示了如何正确使用和释放 MediaPlayer:
public class MainActivity extends AppCompatActivity implements MediaPlayer.OnCompletionListener {
private MediaPlayer mediaPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化 MediaPlayer
mediaPlayer = MediaPlayer.create(this, R.raw.audio);
mediaPlayer.setOnCompletionListener(this);
// 播放音频
mediaPlayer.start();
}
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
// 音频播放完毕后释放 MediaPlayer 资源
releaseMediaPlayer();
}
private void releaseMediaPlayer() {
if (mediaPlayer != null) {
mediaPlayer.release();
mediaPlayer = null;
}
}
@Override
protected void onDestroy() {
super.onDestroy();
// 在 Activity 销毁时也要释放 MediaPlayer 资源
releaseMediaPlayer();
}
}
在上面的示例中,我们在 onCreate()
方法中初始化了 MediaPlayer,并在 onCompletion()
方法中调用了 releaseMediaPlayer()
方法来释放资源。在 onDestroy()
方法中也会调用该方法来确保在 Activity 销毁时释放资源。
通过以上的代码示例,我们可以确保正确地释放 MediaPlayer 资源,避免出现问题。