美文网首页
Service(三)

Service(三)

作者: 爱编程的小火柴 | 来源:发表于2018-08-06 10:46 被阅读0次

继承了Service类,并重写了onBind方法,该方法是必须重写的,但是由于此时是启动状态的服务,则该方法无须实现,返回null即可,只有在绑定状态的情况下才需要实现该方法并返回一个IBinder的实现类(这个后面会详细说),接着重写了onCreate、onStartCommand、onDestroy三个主要的生命周期方法,关于这几个方法说明如下:

onBind()

当另一个组件想通过调用 bindService() 与服务绑定(例如执行 RPC)时,系统将调用此方法。在此方法的实现中,必须返回 一个IBinder 接口的实现类,供客户端用来与服务进行通信。无论是启动状态还是绑定状态,此方法必须重写,但在启动状态的情况下直接返回 null。

onCreate()

首次创建服务时,系统将调用此方法来执行一次性设置程序(在调用 onStartCommand() 或onBind() 之前)。如果服务已在运行,则不会调用此方法,该方法只调用一次

onStartCommand()

当另一个组件(如 Activity)通过调用 startService() 请求启动服务时,系统将调用此方法。一旦执行此方法,服务即会启动并可在后台无限期运行。 如果自己实现此方法,则需要在服务工作完成后,通过调用 stopSelf() 或 stopService() 来停止服务。(在绑定状态下,无需实现此方法。)

onDestroy()

当服务不再使用且将被销毁时,系统将调用此方法。服务应该实现此方法来清理所有资源,如线程、注册的侦听器、接收器等,这是服务接收的最后一个调用。需要在清单文件中申明:<service android:name=".service.TimeTiliService"/>

相关文章

  • Service(三)

    继承了Service类,并重写了onBind方法,该方法是必须重写的,但是由于此时是启动状态的服务,则该方法无须实...

  • k8s-Service

    Service 存在的意义 Pod与Service的关系 Service定义与创建 Service三种常用类型 C...

  • Service(三) - Service和Thread关系

    1. Service和Thread关系 Thread:用于开启子线程,在里边执行耗时操作,不会阻塞主线程;S...

  • 三. Service层

    8. service 8.1 CommentService 8.2 LikeService 1)getLikeSt...

  • Spring Cloud register-server(eur

    基本架构 主要包含三个组件:Eureka Server、Service Provider、Service Cons...

  • mysql配置

    一、安装: 二、修改密码: 三、 启动 1、使用 service 启动:service mysql start2、...

  • 架构发展的历史 -- SSH整合

    一、2层架构二、3层架构 + Entity + Service三、3层架构 + Entity + Service_...

  • Spring Boot 06 -- 文件上传

    一、说明 给工程添加一个文件上传接口 二、controller 三、service 四、service impl ...

  • 基础篇2:Service

    目录一、作用二、生命周期三、启动方式四、启动方式五、IntentService Service简介 Service...

  • NebulaGraph初次相遇

    一个完整的 Nebula 部署集群包含三个服务,即 Query Service,Storage Service 和...

网友评论

      本文标题:Service(三)

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