首页 > 代码库 > Android核心组件 Service

Android核心组件 Service

Service: 服务

    Service 是Activity系统的核心组件之一. 因此需要继承和注册

    Service 是内有界面的, 适合在后台长期的执行任务. (如放歌, 检测版本跟新, 下载, 上传等)

    尽管Service适合长时间执行任务, 但是Service是运行在主线程上的. 所以在Service中执行耗时操作需要开启子线程来实现

 

Service生命周期:

   1. 开启Service

    onCreate()  第一次激活是调用

    onStartCommand()   每次激活时都会被调用

  2. 关闭Service

    onDestroy()

 

开启与关闭Service:

  开启:

    Intent intent = new Intent(上下文, xxxService.class);

    StartService(intent);

  关闭:   

    Intent intent = new Intent(上下文, xxxService.class);

    StopService(intent);

 

Service的粘性

  当Service组件被意外终止时, 过一段时间会自动重新启动. 这个特性被称之为Service的粘性,.

  Service 的粘性是由onStartCommand() 方法的返回值决定的. 该返回值可以使用常量表示,

    取值有:

      START_STICKY: 粘性的

      START_STICKY_COMPATIBILITY:  兼容模式下的粘性

      START_NOT_STICKY:  非粘性的

      START_REDELIVER_INTENT: 粘性的, 且重新发送之前用于激活该Service的Intent对象

 

Android核心组件 Service