一、Service服务
定义一个服务,需要扩展Service基类,重写onBind和onCreate方法。很多时候也要重写onStartCommand方法,当服务是通过startServiec而启动的,就会调用onStartCommand方法。
服务是在应用程序的主线程上启动 ,这意为着onStartCommand方法中完成的处理都是发生在GUI线程中。实现服务的标准模式是在onStartCommand中创建并运行一个新线程,用来在后台执行处理 。
二、后台线程AsyncTask异步任务
2.1.为什么要使用AsyncTask后台线程
因为AsyncTask提供了一种简单便捷的机制,可以将费时操作移入后台线程。它的组成包括两个部分:将在后台进行的处理,以及在处理完成后的UI更新。AsyncTask能帮助我们更便捷地使用UI线程,避免了使用threads 和 handlers带来的复杂性(实际上,它是对threads 和 handlers进行了封装,并实现了线程池的工作方式 )。
2.2. 三个参数/四个步骤
(1)子类实现应该按照以下格式,该泛型所带的三个参数 表示为: