Android Service 的使用及其生命周期详解

Android Service  为安卓四大组件之一,相比较大家熟知活动(Activity)而言大家对它的理解和使用一般在面试和工作中用的也没有Activity多,大家都关心Acitivty 的生命周期,对于Service的生命周期又知道多少呢?  下面我以自己的理解 详细的说一说Service,的生命周期,和使用方式。

 

服务的启动方式:

一、startService : 可以通过Intent 直接启动一个Service,startService(new Intent(this,MyService)); 该方式启动的服务,不可调用服务里的方法 开启服务之后调用者退出了 服务还会在长期的的后台执行 

Intent intent=new Intent(this,MyService.class);
		startService(intent);

 

生命周期:onCreate()服务创建,onStartCommand(),onDestory().

二、绑定服务方式启动服务:bindService 可以调用服务里的方法,如果调用者销毁服务跟着销毁

Intent intent=new Intent(this,Myservice.class);
		mybinder=new MyBinder();
		bindService(intent, mybinder, BIND_AUTO_CREATE);

生命周期:onCreate(),onBind(),onUnBind(),onDestory().

 

调用者Activity 和服务的交互:

一般第一种方式启动的服务可以在后台长期的运行但是Acitivity拿不到服务创建的实例无法调用服务里定义的方法,所以想要和服务交互一般采用bindService方式启动服务。还可以通过广播的方式在Service 里面定义一个广播接收器,在Activity 发送广播也可以实现交互。

代码演示Service和Activity交互

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值