Service简介与生命周期讲解(一)

一、Service的介绍

Service 是一个可以在后台执行长时间运行操作而不使用用户界面的应用组件。服务可由其他应用组件启动,而且即使用户切换到其他应用,服务仍将在后台继续运行。 此外,组件可以绑定到服务,以与之进行交互,甚至是执行进程间通信 (IPC)。 例如,服务可以处理网络事务、播放音乐,执行文件 I/O 或与内容提供程序交互,而所有这一切均可在后台进行。

服务分两种启动和绑定:

1、启动服务:应用组件通过startService(intent)的方式启动;

2、绑定服务:应用组件通过 bindService(intent, conn, Context.BIND_AUTO_CREATE)绑定服务;

参数说明

intent:该参数通过Intent指定要启动的Service。

conn:该参数是一个ServiceConnection对象,用于监听访问者和Service之间的连接情况。

flags:指定绑定时是否自动创建Service。(0或BIND_AUTO_CREATE)

接下来说说启动服务和绑定服务的区别

1)启动的服务与Activity之间是分离的不能进行通讯,即使启动它的组件被杀死,它仍然可以继续存在;而绑定服务与Activity有关可以进行通讯,与所绑定的组件共存亡。

2)启动的服务可以自杀stopSelf()也可以stopService(),但是绑定的服务只能通过绑定的组件解绑unbindService()。

3)它们的生命周期不同(马上介绍)

二、Service生命周期

先上个图吧
这里写图片描述

1、先说说启动服务的生命周期

从图中也可以看到主要有三个onCreate()、onStartCommand()、onDestory(),有些小伙伴在其他的资料里会看到onStart(),这个已经过期了,所以现在多半也都不考虑了,

2、绑定服务

onCreate()、onBind()、onUnbind()、onDestory()四个生命周期,但是要注意的是onBind()只被执行一次。

可以绑定已经启动的服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值