android耗时任务_IntentService
来源:互联网 发布:ubuntu中删除文件夹 编辑:程序博客网 时间:2024/06/05 06:04
如果你看到上一篇android耗时任务_HandlerThread中所提到的BackService类了的话,那么你肯定有一个冲动,就是把它封装起来方便使用。
别急,Android SDK早就已经为我们提供了和那个BackService基本相同的类——IntentService。因为IntentService和BackService基本相同,所以源码我就不贴了。
先来看一下一个简单的例子:
public class AsyncService extends IntentService {public AsyncService() {super("AsyncService");}@Overrideprotected void onHandleIntent(Intent arg0) {}}
IntentService的使用简单明了,但是有些事情还是需要注意一下:
1、继承它的类必须要有一个无参的构造函数,并在此构造函数中调用父类的有参的构造函数,否则会报错。
2、onHandleIntent是一个抽象方法,必须实现。
3、IntentService已经给创建了新的线程,并且在线程中开启了looper-handler机制,onHandleIntent就是运行在这个线程空间中的,所以可以直接进行异步任务。
4、可以多次启动这个IntentService的实现类,它的生命周期和普通的生命周期基本相同,另外多个异步任务可以通过intent传值区分,并且多个异步任务会排队处理。
5、不需要主动调用stopSelft()来结束服务。因为,在所有的异步任务被处理完后,系统会自动关闭服务。
6、和普通的service一样需要在manifest中注册,启动过车也和普通service一样。
它的多次启动时的生命周期如下:
-->AsyncService
-->onCreate
-->onStartCommand
-->onStart
-->onHandleIntent
-->onStartCommand
-->onStart
-->onHandleIntent
-->onDestroy
0 0
- android耗时任务_IntentService
- android耗时任务_ANR
- android耗时任务_handler
- android耗时任务_HandlerThread
- android耗时任务_AsyncTask
- android基础_IntentService
- 【Android】使用AsyncTask处理耗时任务
- Android耗时任务处理方案--AsyncTask
- Android使用IntentService执行耗时任务
- Android IntentService 可执行耗时任务的Service
- Android AndroidProgressLayout:加载页面遮挡耗时操作任务页面
- Android ProgressLayout:加载页面遮挡耗时操作任务页面
- Android AndroidProgressLayout:加载页面遮挡耗时操作任务页面
- AsyncTask处理耗时任务
- 用AsyncTask进行耗时任务
- Android应用启动耗时
- 63_IntentService的使用
- 统计crontab中定时任务耗时脚本
- LCD驱动(FrameBuffer)实例开发讲解
- 面试笔记2(字符串)
- 纽约新gre机考作文的题目
- io基础总结
- 零基础学sat:SAT备考阶段细化学习方案
- android耗时任务_IntentService
- 面试笔记3(结构体、共用体和枚举)
- 当利用QT的QSqlQuery查询数据库时,需开启isForwardOnly模式
- 面试笔记4(运算符及优先级)
- Ubuntu14.04 SAIO - Swift All In One
- JS之执行环境,作用域详解
- 面试笔记5(C预处理器、作用域、static、cosnt以及内存管理)
- 函数查找一个整数数组中第二大的数
- 携程旅行网故障 携程网官网瘫痪 官方称遭不明攻击