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

dlf*_*dlf 1 android ringtone android-logcat android-mediaplayer

我,但是,使用RingtoneManager得到Ringtone秒.


此信息已包含在此问题和答案中,但Google员工不太可能找到它,除非他们已经知道要搜索的内容(至少我不能).

dlf*_*dlf 5

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

我不知道在忽略释放a MediaPlayer(文档提供最坏情况的情况)中有多少实际伤害,但在让他们获得GC之前手动调用stop()你的Ringtones将至少使警告静音.