Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android耗時任務_IntentService

android耗時任務_IntentService

編輯:關於Android編程


如果你看到上一篇android耗時任務_HandlerThread中所提到的BackService類了的話,那麼你肯定有一個沖動,就是把它封裝起來方便使用。
別急,Android SDK早就已經為我們提供了和那個BackService基本相同的類——IntentService。因為IntentService和BackService基本相同,所以源碼我就不貼了。

先來看一下一個簡單的例子:
public class AsyncService extends IntentService {


	public AsyncService() {
		super("AsyncService");
	}


	@Override
	protected void onHandleIntent(Intent arg0) {
	}


}

IntentService的使用簡單明了,但是有些事情還是需要注意一下:
1、繼承它的類必須要有一個無參的構造函數,並在此構造函數中調用父類的有參的構造函數,否則會報錯。
2、onHandleIntent是一個抽象方法,必須實現。
3、IntentService已經給創建了新的線程,並且在線程中開啟了looper-handler機制,onHandleIntent就是運行在這個線程空間中的,所以可以直接進行異步任務。
4、可以多次啟動這個IntentService的實現類,它的生命周期和普通的生命周期基本相同,另外多個異步任務可以通過intent傳值區分,並且多個異步任務會排隊處理。
5、不需要主動調用stopSelft()來結束服務。因為,在所有的異步任務被處理完後,系統會自動關閉服務。
6、和普通的service一樣需要在manifest中注冊,啟動過車也和普通service一樣。

它的多次啟動時的生命周期如下:
-->AsyncService
-->onCreate
-->onStartCommand
-->onStart
-->onHandleIntent
-->onStartCommand
-->onStart
-->onHandleIntent
-->onDestroy





  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved