Android四大组件之一Service

Service

  1. service用于在后台完成用户指定的操作。service分为两种:
    (a)started(启动):当应用程序组件(如activity)调用startService()方法启动服务时,服务处于started状态。
    (b)bound(绑定):当应用程序组件调用bindService()方法绑定到服务时,服务处于bound状态。

  2. startService()与bindService()区别:
    (a) started service(启动服务)是由其他组件调用startService()方法启动的,这导致服务的onStartCommand()方法被调用。当服务是started状态时,其生命周期与启动它的组件无关,并且可以在后台无限期运行,即使启动服务的组件已经被销毁。因此,服务需要在完成任务后调用stopSelf()方法停止,或者由其他组件调用stopService()方法停止。
    (b) 使用bindService()方法启用服务,调用者与服务绑定在了一起,调用者一旦退出,服务也就终止,大有“不求同时生,必须同时死”的特点。

  3. 开发人员需要在应用程序配置文件中声明全部的service,使用标签。

  4. Service通常位于后台运行,它一般不需要与用户交互,因此Service组件没有图形用户界面。Service组件需要继承Service基类。Service组件通常用于为其他组件提供后台服务或监控其他组件的运行状态。

  5. 下面是Service 的两种不同启动方式的生命周期图
    Android四大组件之一Service
    文章推荐:https://blog.csdn.net/javazejian/article/details/52709857#t2