BroadcastReceiver 使用goAsync 執行異步操做

roadcastReceiver 生命週期 
一個BroadcastReceiver 對象只有在被調用onReceive(Context, Intent)的纔有效的,當從該函數返回後,該對象就無效的了,結束生命週期。
所以從這個特徵能夠看出,在所調用的onReceive(Context, Intent)函數裏,不能有過於耗時的操做,不能使用線程來執行。對於耗時的操做,請start service來完成。由於當獲得其餘異步操做所返回的結果時,BroadcastReceiver 可能已經無效了。若是確實須要作的話,能夠用goAsync方法,而後在新開一個線程去執行。

  

roadcastReceiver 生命週期 
一個BroadcastReceiver 對象只有在被調用onReceive(Context, Intent)的纔有效的,當從該函數返回後,該對象就無效的了,結束生命週期。
所以從這個特徵能夠看出,在所調用的onReceive(Context, Intent)函數裏,不能有過於耗時的操做,不能使用線程來執行。對於耗時的操做,請start service來完成。由於當獲得其餘異步操做所返回的結果時,BroadcastReceiver 可能已經無效了。若是確實須要作的話,能夠用goAsync方法,而後在新開一個線程去執行。
roadcastReceiver 生命週期 
一個BroadcastReceiver 對象只有在被調用onReceive(Context, Intent)的纔有效的,當從該函數返回後,該對象就無效的了,結束生命週期。
所以從這個特徵能夠看出,在所調用的onReceive(Context, Intent)函數裏,不能有過於耗時的操做,不能使用線程來執行。對於耗時的操做,請start service來完成。由於當獲得其餘異步操做所返回的結果時,BroadcastReceiver 可能已經無效了。若是確實須要作的話,能夠用goAsync方法,而後在新開一個線程去執行。
相關文章
相關標籤/搜索