四大组件之Service

Service的基本概述与特点:

1.      Service是一个没有用户界面的在后台运行执行耗时操作的应用组件

2.      其他应用组件能够启动Service,并且当用户切换到另外的应用场景,Service将持续在后台运行。

3.      一个组件能够绑定到一个service与之交互,我们之称为IPC机制

4.      Service与Activity相同,不能做耗时操作,否则会ANR

5.      Service的两种状态可以共存

 

Service的两种状态:

1.      启动状态(主要用于执行后台计算):

a)        通过startService()启动的服务处于启动状态

b)        一旦启动,s即使启动它的应用组件已经被销毁了,service也在后台运行

c)        通常started状态的service执行单任务并且不返回任何结果给启动者。比如当下载或上传一个文件。

d)        当操作完成时,service应该停止它本身

 

Intent intentService = new Intent(this,MyService.class);

startService(intentService);

 

2.      绑定状态(主要用于其他组件和Service交互):

a)        通过调用bindService()来启动的服务处于绑定状态

b)        Service提供与绑定组件交互的接口。可以发送请求,获取返回结果,还可以跨进程通信

c)        这种service只有被绑定后才能运行。

d)        多个组件可以绑定同一个service,当所有绑定被解除后,service被销毁

 

Intent intentService = new Intent(this,MyService.class);

bindService(intentService,mServiceConnect,BIND_AUTO_CREATE);

 

Service的生命周期:

        

bind service的不同之处在于当绑定的组件销毁后,对应的service也就被kill了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值