生命周期方法

Android  Service生命周期及方法:

Service是Android中第二大基本组件,它通Activity一样也有属于自己的生命周期和方法。要知道如何使用使用service,首先要知道什么是什么是service,有什么功能还有就是什么时候使用它。

1.service概念:它就是服务的意思。Service是一个没有用户界面的在后台执行耗时操作的应用组件。它与Activity不同,不能与用户进行交互,不能自己启动,是运行在后台的程序,如果我们退出应用时,service进程并没有结束,它仍然在后台运行。

2.Service主要用于两个目的:后台运行和跨进程访问。通过启动一个服务,可以在不显示界面的前提下在后台运行指定的任务,这样可以不影响用户做其他事情。通过AIDL服务可以实现不同进程之间的通信。Service默认是运行在应用的主线程中的,如果需要在Service中做耗时操作,需要在Service中启动线程来处理。

3.何时用到service呢?Service和其他组件一样,都是运行在主线程中,因此不能用它来做耗时的请求或者动作,可以在服务中开一个线程,在线程中做耗时的操作。例如当我们播放音乐的时候,也许我们想边听音乐边做一些其他的事情,这时候我们就要用到service,这样即使我们退出播放音乐的应用,但service并没有结束,我们仍能听到音乐。又比如一个应用的数据需要通过网络来获取,不同时间获取到的数据时不同的,这时候我们可以通过service在后台定时更新,而不用每次打开应用的时候去获取。

4.Service生命周期:并不像Activity的生命周期那样复杂,只有onCreat()onStart()onDestroy()三个方法。      Service不能自己运行,需要通过Activity或者其他context对象来调用。Contex.startService()和Context.bindServcie()。当我们第一次启动Service时,先后调用了onCreat和onStartCommand这两个方法,当停止Service时调用了onDestroy方法。但如果Service已经启动了,当我们再去启动Service时不会执行onCreat而是直接执行onStartCommand。

5.Service的两种启动方式:

①Context.startService():service会经过onCreat,onStartCommand,Context.stopService的时候或者Service自己stopSelfResult()时,Service直接onDestroy()。如果是调用者自己直接退出而没有onStopService,Service会一直在后台运行,下次调用者启动时可以StopService()。

②Context.bindService():当Service的调用者bindService时,如果Service没有被创建,Service先会onCreat()再onBind();多个调用者可以绑定到一个Service中;当调用者执行unBindService()方法时,Service就会调用onUnBind,onDestroy,但是如果还有其他服务绑定了该service,就不会调用onDestroy方法。所谓的绑定就是Service和调用方共存亡。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值