2012-03-26 51 views
0

我是Android的新手,目前正在學習Android SDK。Singleton模式應該用於Android MediaPlayer

我寫一個非常簡單的應用程序,將只在與小部件交互播放各種聲音。我正在使用MediaPlayer播放聲音。

我的問題是我應該使用MediaPlayer的單身模式?我要的MediaPlayer的只是一個對象被共享,但混亂來自下面的鏈接

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

它說:

我們還建議,一旦MediaPlayer對象不再 被使用,呼叫釋放()立即使得由與MediaPlayer對象相關聯的 內部播放引擎所使用的資源可被 立即釋放。資源可包括單資源如 硬件加速組件和故障調用釋放()可以 導致後續實例的對象的MediaPlayer回退到 軟件實現或者完全失敗。

我不想現在將MediaPlayer作爲服務運行。

那麼我該怎麼做?我應該使用MediaPlayer的Singleton模式嗎?

非常感謝您的任何幫助。

回答

0

這是不可取的,因爲你可以從提取物看,保持的MediaPlayer的對象作爲單。主要是因爲有價值的資源(如硬件)可以保持鎖定狀態,只要您有媒體播放器對象以外的任何狀態爲END狀態。另外當你調用release()時,對象不能被重用。您需要一個新的實例。 我認爲android團隊希望開發人員在需要時創建對象並在完成時釋放它。