Android MediaPlayer 准备工作:prepare() 后能否立即 release()?
不可以。在调用 'mediaPlayer.prepare()' 方法后,MediaPlayer 需要进行一系列的准备工作,例如解析媒体文件、创建音频解码器等。只有当 MediaPlayer 完成这些准备工作后,才可以进行播放操作。因此,在调用 'mediaPlayer.prepare()' 方法后,需要等待 MediaPlayer 准备完毕后再进行其他操作。
如果在调用 'mediaPlayer.prepare()' 后立即调用 'mediaPlayer.release()' 方法,将会导致 MediaPlayer 进入错误状态,并抛出 IllegalStateException 异常。
正确的使用流程应该是:
- 创建 MediaPlayer 对象。
- 设置数据源(使用 'mediaPlayer.setDataSource()' 方法)。
- 调用 'mediaPlayer.prepare()' 方法来准备 MediaPlayer。
- 在 MediaPlayer 准备完毕后,可以调用其他操作,如 'mediaPlayer.start()' 开始播放。
- 最后,在不再需要使用 MediaPlayer 的时候,调用 'mediaPlayer.release()' 方法释放资源。
注意,如果不再需要使用 MediaPlayer,一定要及时调用 'mediaPlayer.release()' 来释放资源,以避免内存泄漏。
原文地址: http://www.cveoy.top/t/topic/qlY2 著作权归作者所有。请勿转载和采集!