我有一個AsyncTask
從服務執行。因爲在一個單獨的線程運行AsyncTask
,我有幾個疑惑:從服務執行AsyncTask
如果執行,而服務的AsyncTask方法
onStartCommand()
回報會發生什麼?在執行AsyncTask
時服務是否關閉? 如何最好地解決這種情況?我應該使用START_STICKY嗎?由於在UIThread上運行,它會運行在與服務的
onStartCommand
方法相同的線程上嗎?如果在服務關閉時AsyncTask
仍在運行,那麼以上情況會發生什麼情況。onPostExecute()
上哪個線程?
Update:
我使用服務的原因是因爲服務是從廣播接收器的方法onReceive
實例化。我同意我可以在onReceive中使用普通線程,但服務-AsyncTask模式似乎更好,因爲我需要發出一些通知,以及我在onPreExecute
和onPostExecute
中執行的一些通知。
感謝您的回答。我更新了我的問題。 –
@MadhurAhuja:我已經更新了我的答案。 – CommonsWare