Android学习之Service

 

Service与Activity相对应,Activity负责前台页面的展现;Service是一个应用程序组件,没有图形化界面,通常用来处理比较耗时的操作,

可以使用Service来更新ContentProvider(当数据需要在应用程序之间共享时,可以在某程序中使用 ContentProvider 定义 URI, 以使其它应用程序可以通过此 URI 访问指定的数据),发送intent以及启动系统的通知等等。

Service不是一个单独的进程;Service不是一个线程。

Service的生命周期  

1. 被startService的

无论是否有任何活动绑定到该Service,都在后台运行。onCreate(若需要) -> onStart(int id, Bundle args).  多次startService,则onStart调用多次,但不会创建多个Service实例,只需要一次stop。该Service一直后台运行,直到stopService或者自己的stopSelf()或者资源不足由平台结束。

 

2. 被bindService的

调用bindService绑定,连接建立服务一直运行。未被startService只是BindService,则onCreate()执行,onStart(int,Bundle)不被调用;这种情况下绑定被解除,平台就可以清除该Service(连接销毁后,会导致解除,解除后就会销毁)。

 

3. 被启动又被绑定

 类似startService的生命周期,onCreate onStart都会调用。

 

4. 停止服务时

stopService时显式onDestroy()。或不再有绑定(没有启动时)时隐式调用。有bind情况下stopService()不起作用。

 

注:需要在AnndroidManifest.xml中配置Service

  •         <service android:name="MyService">  
  •             <intent-filter>  
  •                 <action android:name="jtapp.myservicesamples.myservice"></action>  
  •             </intent-filter>  
  •         </service>

     

     

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值