Android Api Guide —— Services

前言:

  很久没来写博客了,中间工作非常忙,也没时间看书,不过学到了很多的东西,现在第一版已经发布了,也没那么忙了,开始继续之前的计划,重新系统的看一遍google官方的文档,正在写个小service的项目,就从service开始吧,慢慢补齐。

 

正文:

  services 是个可以运行在后台的可以执行长时间操作的组件,没有界面。

有两种启动方式,被start或被bind。区别在于:

  1.start:一旦被start,就无限期的运行在后台,直到调用destroy或动作执行完成。通常start的service执行单独的操作而且不需要有返回值给调用者。比如 下载或者升级。

  2.bound: 如果是bindService,则会提供一个interface来和service交互。一个service可以同时被多个组件bind,被bound的service的生命周期跟bind的相同,当最后一个unbind了,该service也就被destroy了。

  一个service可以被start,也可以被bind,只是需要我们重写相应的方法就好了。需要注意的是:service是在主线程中运行的,如果执行阻塞操作的话,需要新建线程,来防止ANR。

  service是一个当你没有对你的应用交互的时候也可以运行在后台的简单组件。所以我们需要注意分析我们需要的是一个service还是一个thread,还是asyncTask或handlerThread。当我们需要进行一个主线程之外的动作,而且只是在和我们的应用交互的时候才会用得到的时候,那我们需要的是一个Thread,或者AsyncTask或HandlerThread. 

  

转载于:https://www.cnblogs.com/desire/archive/2012/12/27/2836401.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值