码迷,mamicode.com
首页 > 移动开发 > 详细

【转】 Pro Android学习笔记(七六):服务(1):local和remote

时间:2015-12-15 14:27:33      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处:http://blog.csdn.net/flowingflying/

Android提供服务,服务是运行在后台的组件,没有UI,独立于activity的生命周期。有两种类型的服务:local services和remote services。本地服务是只能被本应用调用,而远端服务则可以被其他应用调用。远端服务通过AIDL(Android Interface Definition Language)描述。在服务这一部分重点介绍远端服务,而本地服务将以后还会深入学习。

在Android学习笔记系列中有三篇很好的博文对服务进行介绍:Android学习笔记(五一):服务Service(上)-IntentServiceAndroid学习笔记(五二):服务Service(中)- 继承Service类Android学习笔记(五三):服务Service(下)- Remote Service

Android基于两个原因提供service概念:1、更容易实现后台任务;2、在应用间实现进程间通信(IPC)。前者对应local service,后者对应为remote service。

Android提供的android.app.Service类,和刚学习的AsyncTask不同,Service类没有建立线程,也就是说如果我们不为之建立线程,则Service将运行在主线程中。

对于local service,即之限在同一线程的组件使用,client是通过Context.startService()来启动service。如果服务支持onBind(),表明它是一个remote service,通过进程间通信Context.bindService()来调用,由于远程服务支持AIDL,也可通过AIDL来与服务通信。虽然Service类支持local和remote两种,但我们不应创建一个service对象同时支持两种,因为它们有着不同的预先设定好的生命周期,不要混淆。

Remote service还有很多名称,例如RPC(Remote Procedure Call)服务,AIDL服务。

这应该是本系列最短篇幅的新记录。

相关链接: 我的Android开发相关文章

【转】 Pro Android学习笔记(七六):服务(1):local和remote

标签:

原文地址:http://www.cnblogs.com/blongfree/p/5048057.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!