但是,我正在使用RingtoneManager
来获取Ringtone
。
该信息已经包含在this question and answer中,但是Google员工除非已经知道要搜索的内容,否则不太可能找到它(至少我找不到)。
最佳答案
这是因为RingtoneManager.getRingtone()
内部对返回的open()
对象调用Ringtone
。 Ringtone.open()
设置MediaPlayer
,除非您手动调用MediaPlayer
,否则此Ringtone.stop()
不会被释放。请注意,您无需实际播放铃声即可。这似乎没有记录在任何地方。
我不知道忽略发布MediaPlayer
有什么实际危害(documentation提供了最坏的情况),但是在让他们获取GC之前在stop()
上手动调用Ringtone
ed将至少使警告静音。