在开发当中,一般不能在Service中做一些耗时的操作,因为Service中一个操作耗时
超过5秒之后,Android系统就会报Application Not Response 异常。为了避免这
中错误,官方为我们提供了一个比较有用的API,就是IntentService,在官方说明中,
IntentService是将一个Intent加入一个队列中,运行在主线程,但是它会开启一个工
作线程(Work Thread)来实现请求,它会先完成一个任务再开始执行另一个任务,
每一个任务都是在工作线程中执行,不会阻塞主线程的运行。
下面是IntentService的使用方法:
- 写一个类继承IntentService
- 该类的构造方法中必须调用super(“”);方法
- 重写onHandleIntent(Intent intent) ,把耗时操作添加到里面就可以了。
public class MyService extends IntentService {
public MyService(String name) {
super(name);
}
@Override
protected void onHandleIntent(Intent intent) {
try {
//耗时操作
Thread.sleep(2000);
} catch (Exception e) {
}
}
}
其实这个东西很简单,哈。。