美文网首页
Intentservice

Intentservice

作者: jameswan | 来源:发表于2018-06-20 17:55 被阅读11次

    IntentService是一个基本类,用来处理异步请求(用Intents来传递的)的服务。客户端通过调用startService(Intent)来发送请求;当需要的时候service被启动,使用一个工作者线程来依次处理每一个Intent;当任务运行完毕之后会自动关闭。这个“工作队列处理器”模式通常用来帮助处理应用的主线程中的任务。IntentService类是为了简化这个模式和照看结构而存在的。通过继承IntentService实现onHandleIntent(Intent)方法来使用它。IntentService将会接收Intents,创建一个工作者线程,并在适当的时候(任务结束的时候)停止服务。

    所有的请求都被一个单独的工作者线程(HandlerThread)处理--他们或许需要足够长的时间来处理(并且不会阻塞应用的主循环),但是同一时间只能处理一个请求

    使用方法

    1.声明一个类继承自IntentService

    2.重写onHandleIntent方法

    3.在Manifest文件中注册

    原理

    1.从源码中可以看出IntentService中一个静态的Handler内部类


    2.在IntentService的onCreate方法中创建了一个HandlerThread 对象 并启动该线程

    3.启动HandlerThread之后获取当前线程r的Looper对象用于创建Handler静态内部类实例



    4.在onHandleIntent方法中执行异步任务

    相关文章

      网友评论

          本文标题:Intentservice

          本文链接:https://www.haomeiwen.com/subject/uwvxyftx.html