Service和intentservice的區別

2021-07-31 17:42:25 字數 678 閱讀 2697

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...