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来重写一下这个例子。