网站大量收购独家精品文档,联系QQ:2885784924

Android服务框架分析.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android服务框架分析.doc

Android服务框架分析 摘要:Android系统服务提供系统最基本、最核心的功能,比如设备控制、地理位置信息提供、定时设置等。这些系统服务都是使用Android的Service Framework实现的,Android Service Framework是Android系统的重要组成部分。探索Service Framework内部原理,理解并掌握Service Framework的运作方式,有助于我们开发出各种新功能,例如视频通话、DMB服务等非基本的系统服务。本文将重点学习Android Service Framework,分析各个构成元素,理解其原理与运行机制,以便开发出各种服务。 服务框架(Service Framework) Android Service Framework是一系列类的集合,它用来开发运行在Android平台上的各种服务。Service Framework提供了设计精良、复用度高的服务设计与实现,开发者可以使用Service Framework提供的各种类与接口,快速开发出可靠优良的服务。 在使用Service Framework开发服务时,开发者只要把主要精力集中在开发服务的核心功能上即可,服务核心功能之外的部分Service Framework会帮我们处理。例如,在开发服务时,服务注册、服务Binder IPC等功能都由系统提供,开发者不需要实现这些功能。总之,开发者在使用Service Framework开发服务时,只要集中精力开发服务要提供的功能即可。 之前,读者可能听说过Android Application Framework这个词,但什么是Service Framework,有些读者可能不太明白。在Android平台中,Service Framework大致由两大部分构成,一部分是使用C++语言编写的本地服务框架,另一部分是使用Java语言编写的Java服务框架。既然已经存在“应用程序框架”这一术语了,为什么还要使用“服务框架”(Service Framework)这个术语呢? 首先在说明由C++语言编写的系统服务以及由Java编写的系统服务时,有必要将两者合在一起来说明。在使用应用程序框架(Application Framework)时,由Java实现的服务将被包含进去,所以在开发服务时需要一个通用的术语来指代所使用的框架(Framework)。并且,应用程序框架中构成要素十分庞大,为了说明的方便,也需要一个术语将实现服务所需要的素有框架元素表达出来。 其次,在“服务框架”中包含了所有框架的特征。框架有两个代表性的特征,一是通过扩展而非修改框架添加新的功能;二是使用框架实现的应用程序控制流由框架而非程序自身控制。在Android平台中,许多服务通过扩展而非修改服务框架来实现,并且服务的动作流也是由服务框架所决定,所实现的服务只是按照内部定义的方式进行运作。若开发者采用任意的方法开发服务,那么开发出的服务将无法再系统中正常运行,即只有使用Android提供的类与已经定义好的方法开发,才能够开发出可以再系统中正常运行的服务。 服务框架(Service Framework)的构成 1、各层构成元素的配置 在分析“服务框架”时,将Binder IPC各抽象层的作用以及相应的类联系起来,有助于我们更容易地理解“服务框架”中的各个类。“服务框架”各个层的组成元素以及它们各自的作用如表1: 服务客户端(Service Client) Service Server 服务层 配置 功能 ■ FooService 服务的公用接口 ■ 提供FooService服务的foo()函数接口 ■ FooService服务的公用接口 ■ 运行FooService服务的foo()函数 RPC层 配置 功能 ■ 支持Binder RPC ■ 调用foo()函数,转换成RPC数据 ■ 支持Binder RPC ■ 分析RPC代码与数据,调用foo()服务的Stub函数 IPC层 配置 功能 ■ 支持Binder IPC ■ 将RPC代码与数据转换成IPC数据,传递给Binder Driver ■ 支持Binder IPC ■ 接收Binder IPC数据,转换成RPC代码与数据 表1 首先服务客户端与Service Server在Service Framework的构成元素配置上存在不同。在服务层的服务客户端有服务接口,而在Service Server中不仅有服务接口,还有相应的服务。在RPC层的服务客户端只有名称为“BpFooService”的服务代理,而在Service Server中有Bn

文档评论(0)

wuyouwulu + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档