我試圖理解邏輯的特定位IntentService
,具體而言,在ServiceHandler
:澄清IntentService
private final class ServiceHandler extends Handler {
public ServiceHandler(Looper looper) {
super(looper);
}
@Override
public void handleMessage(Message msg) {
onHandleIntent((Intent)msg.obj);
stopSelf(msg.arg1);
}
}
從我可以告訴,stopSelf()
被稱爲多次 - 一次每撥打一次startService
。如果有多個項目要處理,stopSelf
是否不會中斷待處理項目的流程?顯然這不是發生了什麼,因爲IntentService
實際上工作,但爲什麼?看起來像stopSelf
應該在處理完所有Intent
之後調用。
另一個問題--創建的HandlerThread
何時會實際停止?顯然它不會被stopSelf
阻止?
你並不需要調用'stopSelf'一個'IntentService'。更多信息在這裏:http://stackoverflow.com/questions/10250745/proper-way-to-stop-intentservice –
事實上,因爲'IntentService'確實實際的調用。我的問題是關於班級的內部運作。 – Melllvar