intentservice是繼承service的,那麼它包含了service的全部特性,當然也包含service的生命週期,那麼與service不同的是,intentservice在執行oncreate操作的時候,內部開了乙個執行緒,去你執行你的耗時操作。
service中提供了乙個方法:
public
int onstartcommand(intent intent, int flags, int startid)
同時intentservice中提供了這麼乙個方法:
protected
abstract
void onhandleintent(intent intent);
這是乙個抽象方法,也就是說具體的實現需要被延伸到子類。
子類的宣告:
public
class chargeservice extends intentservice
上面提到過intentservice是繼承service的,那麼這個子類也肯定繼承service,那麼onhandleintent()方法是什麼時候被呼叫的呢?讓我們具體看intentservice的內部實現:
intentservice是通過handler looper message的方式實現了乙個多執行緒的操作,同時耗時操作也可以被這個執行緒管理和執行,同時不會產生anr的情況。
Android中Service和Thread的區別
rlei 把service等同於thread或process是乙個非常常見的誤解。需要 強調又強調 的第一點是,android的service是乙個context,並不必然等於乙個額外的thread 裡面專門強調 為什麼強調說 longer running 的 component 非常明顯,這裡是和...
service和aidl的區別
service 是在當前程序中新開執行緒,aidl 是系統新開程序,屬於另乙個程序。aidl 就是處理客戶端和服務端的 ipc 通訊實現的方式,通過 aidl 機制,客戶端通過呼叫服務端提供的介面。便於跨程序呼叫其他應用程式。如果你的應用程式不涉及其他應用時,沒有必要使用 aidl 機制。servi...
service和systemctl的區別
本文件介紹rhel6的service和rhel7的systemctl的區別 執行級別概念的區分 system v init 執行級別 systemd 目標名稱 作用 0 runlevel0.target,poweroff.target 關機 1 runlevel1.target,rescue.tar...