我正面臨着我的應用程序的一個奇怪問題。我有一個在後臺運行的LocationService。我管理其生命週期的方法是:啓動服務時bindService()和onBind()之間的延遲
- 在
onResume
,每一次活動都使用bindService(intent,serviceConnection, BIND_AUTO_CREATE)
喜歡在需要時該服務會自動創建。 - 在
onStop
,每一次活動都使用unbindService(serviceConnection)
- 這工作,因爲開關的活動時,新
Activity
onResume
是老Activity
onStop
方法
我已經是這個問題之前調用,可以說我從一開始主屏幕上,我用一個包含片段的活動啓動應用程序。函數調用的順序如下
- 活動
onCreate
- >setContentView
這裏叫 - 活動
onResume
- >這裏bindService
被調用,並應創建Service
- 片段
onResume
- 服務
onBind
方法被稱爲
我的問題是爲什麼我的bindService
和onBind
調用之間還有其他東西?我有一種感覺,這與線程問題有關。
延遲是一個預期的行爲,因爲bindService()確實是一個異步調用,請參閱[這個答案](http://stackoverflow.com/questions/10802456/when-exactly-onserviceconnected-for-bounded-service - 將被稱爲/ 10807311#10807311)瞭解更多詳情。 – yorkw 2013-04-08 03:07:22
謝謝,它並沒有說它是在文檔中的異步調用,這就是爲什麼我感到困惑。你想把它作爲答案嗎? – chopchop 2013-04-09 01:35:33
嘿,我認爲我是不必要的冗長,但我沒有說過同樣的事情(我相信在發佈約克的評論之前)。我不打算得到賞金,但如果你認爲我的回答是錯誤的,請對此作出評論。 – Tom 2013-04-09 02:30:39