Android四大元件:Service史上最全面解析
阿新 • • 發佈:2019-01-05
前言
- Service作為Android四大元件之一,應用非常廣泛
- 本文將介紹對Service進行全面介紹(基礎認識、生命週期、使用和應用場景)
目錄
1. 基礎知識
- 定義:服務,屬於Android中的計算型元件
- 作用:提供需要在後臺長期執行的服務(如複雜計算、下載等等)
- 特點:長生命週期的、沒有使用者介面、在後臺執行
2. 生命週期方法詳解
3. Service分類
3.1 Service的型別
3.2 詳細介紹
4. Service的使用解析
由上述可知,服務Service總共分為:
5. 使用場景
- 通過上述描述,你應該對Service型別及其使用非常瞭解;
- 那麼,我們該什麼時候用哪種型別的Service呢?
- 各種Service的使用場景請看下圖:
6. 其他思考
6.1 Service和Thread的區別
- 結論:Service和Thread之間沒有任何關係
之所以有不少人會把它們聯絡起來,主要因為Service的後臺概念
後臺的定義:後臺任務執行完全不依賴UI,即使Activity被銷燬,或者程式被關閉,只要程序還在,後臺任務就可以繼續執行
其實二者存在較大的區別,如下圖:
一般來說,會將Service和Thread聯合著用,即在Service中再建立一個子執行緒(工作執行緒)去處理耗時操作邏輯,如下程式碼:
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
//新建工作執行緒
new Thread(new Runnable() {
@Override
public void run() {
// 開始執行後臺任務
}
}).start();
return super.onStartCommand(intent, flags, startId);
}
class MyBinder extends Binder {
public void service_connect_Activity() {
//新建工作執行緒
new Thread(new Runnable() {
@Override
public void run() {
// 執行具體的下載任務
}
}).start();
}
}
6.2 Service和IntentService的區別
7.總結
請點贊!因為你們的贊同/鼓勵是我寫作的最大動力!
不定期分享關於安卓開發的乾貨,追求短、平、快,但卻不缺深度。