android:第十章,後臺的默默勞動者——服務,學習筆記

1、多線程
1)本章首先介紹了安卓的多線程編程,說明在子線程中若是要修改UI,必須經過Handler, Message, MessageQueue, Looper來實現,可是這樣畢竟太麻煩了。
  2)而後緊接着就給出了AsyncTask,經過繼承這個類,就能夠在他的裏面直接修改UI元素,方便不少;

2、服務
1)首先給出服務的常規方法,好比建立onCreate、啓動onStartCommand、中止onStop、銷燬onDestroy;
2)而後說明了Activity和Service之間如何通訊,這裏要藉助一個Binder和ServiceConnection兩個抽象類,固然還有Activity中的bindService, unbindService方法,
3)接線來就提出了前臺服務的概念了,這個確實如今不少程序都在用,其實實現起來很簡單,就是藉助於咱們在第八章中的系統通知的Notification,而後再調用setForeground(xxxx)來實現;
4)緊接着IntentService出現了;
    其實開篇做者就提出了一個問題,不要被後臺服務這個名字所迷惑,其實服務默認都是運行在主線程的,因此若是在裏面作很耗時的事情的主線程就會很卡,會出現ANR,因此咱們仍是要考慮使用真正的後臺服務,也就是IntentService。


最後做者給出了一個完整的例子,在例子中,做者沒有使用IntentService,而是使用Service+AsyncTask的方式,後面我卻是能夠考慮使用IntentService來重寫一下這個例子。
相關文章
相關標籤/搜索