intentservice,可以看做是 Service和 Handler thread的结合体,在完成了使命之后会自动停止,适合需要在工作线程处理与U无关任务的场景。
Service执行耗时任务
1)启动 Service
2)开辟新的线程
3)结束线程
4)关闭 Service
例子:
public class MyIntnetService extends IntentService {
/**
*
*/
public MyIntnetService() {
super("");
}
@Override
public void onCreate() {
super.onCreate();
Log.i("---------","Service创建成功");
}
@Override
protected void onHandleIntent(@Nullable Intent intent) {
int i = 100;
while (i > 0) {
Log.i("-------", i + "");
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
i--;
}
}
@Override
public void onDestroy() {
super.onDestroy();
Log.i("----------","Service 关闭");
}
实现方法
自定义类使其继承 Intent service,其余操作与 Service-致。
优点:
Intentservice是继承自 Service并处理异步请求的一个类,在 Intentservice内有一个工作
线程来处理耗时操作。
当任务执行完后, Intent Service会自动停止,不需要我们去手动结束。