为什么即使我没有在任何地方使用MediaPlayer,偶尔也会在logcat中看到“MediaPlayer未经发布而最终确定”?

时间:2014-05-20 02:06:23

标签: android android-mediaplayer android-logcat ringtone

但是,我使用RingtoneManager获取Ringtone s。


此信息已包含在this question and answer中,但Google员工不太可能找到它,除非他们已经知道要搜索的内容(至少我不能)。

1 个答案:

答案 0 :(得分:5)

这是因为RingtoneManager.getRingtone()在内部调用返回的open()对象上的RingtoneRingtone.open()设置了MediaPlayer,除非您手动拨打MediaPlayer,否则此Ringtone.stop()不会被释放。请注意,您无需为此实际播放铃声。这似乎没有记录在任何地方。

我不知道在忽略发布MediaPlayer时会有多少实际伤害(documentation提供最坏情况),但在{stop()上{在让他们获得GC之前{1}}至少会使警告无声。