四大组件-服务 Service

2019-07-14  本文已影响0人  吕注意

定义

服务,Android四大组件之一,属于计算型组件

作用

提供需长期在后台运行的的服务

特点

无用户界面,在后台运行,生命周期长

生命周期

Service服务有两种启动的方式:

  • 通过调用startService()启动服务
  • 通过调用bindService()启动服务

Service服务的生命周期还有一种情况:先调用starService()启动服务后,再调用bindService()进行绑定

生命周期中4个手动调用的方法

1.startService()
2.stopService()
3.bindService()
4.unbindService()

1.startService()

onStartCommand()方法必须返回一个整数:描述在系统杀死服务后该如何继续运行
a. START_NOT_STICKY:不会重建服务,除非还存在未发送的intent,当服务不再是必须的,并且应用程序能够简单的重启那些未完成的工作时,这是避免服务运行的最安全的选项
b. START_STICKY:重建服务且调用onstartCommand(),但不会再次送入上一个intent,而是用一个null的intent来调用startCommand()。除非还有启动服务的intent未发送完,那么这些剩下的intent会继续发送
c. START_REDELIVER_INTENT:重建服务并用上一个已送过的intent调用onStartCommand() 。任何未发送完的intent也都会依次送入(适用于那些需要立即恢复工作的活跃服务,比如下载文件)

2.stopService()

启动后绑定同个Service,若无解绑的前提下调用stopService()方法是无法停止服务的

3.bindService()
4.unbindService()

Service的分类

类型

Service可按照运行地点、运行类型、功能进行分类

详细介绍

1.按 运行地点 分类

2.按 运行类型 分类

3.按照 功能 分类

使用讲解
前台服务

Service与Thread的区别

相同点
不同点

实际开发中一般会将Service与Thread相结合,即在Service中创建一个工作线程进行耗时操作。

多线程

感谢

文章出处:简书大神Carson_Ho
博客地址:https://www.jianshu.com/p/d963c55c3ab9

上一篇 下一篇

猜你喜欢

热点阅读