2012-03-26 2 views
0

Я новичок в Android и изучаю Android SDK.Должен использоваться шаблон Singleton для Android MediaPlayer

Я пишу очень простое приложение, которое будет просто воспроизводить различные звуки при взаимодействии с виджетами. Я использую MediaPlayer для воспроизведения звуков.

Мой вопрос: следует ли использовать одноэлементный шаблон для MediaPlayer? Я хочу только один объект MediaPlayer для совместного использования, но Путаница происходит по следующей ссылке

https://developer.android.com/reference/android/media/MediaPlayer.html

, который говорит, что:

Также рекомендуется, чтобы один раз объект MediaPlayer больше не , немедленно вызовите release(), чтобы ресурсы, используемые механизмом внутреннего игрока , связанным с объектом MediaPlayer, могли быть немедленно освобождены . Ресурс может включать в себя одноэлементные ресурсы, такие как компоненты аппаратного ускорения и отказ в вызове release() может привести к тому, что последующие экземпляры объектов MediaPlayer возвращаются к программным реализациям или вообще не работают.

Я пока не хочу запускать MediaPlayer как сервис.

Итак, что мне делать? Должен ли я использовать шаблон Singleton для MediaPlayer?

Большое спасибо за любую помощь.

ответ

0

Не рекомендуется, как вы можете видеть из выписки, сохранить объект MediaPlayer как одноэлементный. Главным образом потому, что ценные ресурсы, такие как аппаратное обеспечение, могут быть заблокированы до тех пор, пока у вас есть объект медиаплеера в в любом из состояний, отличных от состояния END. Также, когда вы вызываете release(), объект не может быть повторно использован . Вам понадобится новый экземпляр. Я думаю, что команда android хочет, чтобы разработчики создавали объекты, когда это было необходимо, и отпустите их, когда закончите.

Смежные вопросы