结构Android.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本文由helenxunxun贡献 doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 Android 是 google 公司针对手机 手机开发的一个平台,并公布了其中大部分代码,其大部分应用 手机 程序都是用 JAVA 开发的,毕竟它是商业性的产品嘛,有所保留也是理所当然的。对于搞嵌 入式 linux 开发的人来说我们可以从中学习 学习其长处,也算得上是未来的一个发展方向和趋势 学习 吧。 我们先来看看 Android 它的体系结构吧。下面是一张公开的 Android 体系结构图。 操作系统一样,采用了分层的架构。从架构图看,android 分为四个 android 的系统架构和其操作系统 操作系统 层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和 linux 核心层。蓝 色的代表 java 程序,黄色的代码为运行 JAVA 程序而实现的虚拟机,绿色部分为 C/C++语言 编写的程序库,红色的代码内核(linux 内核+drvier) 1.应用程序 Android 会同一系列核心应用程序包一起发布,该应用程序包包括 email 客户端,SMS 短消 息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用 JAVA 语言编 写的。 2.应用程序框架 开发人员也可以完全访问核心应用程序所使用的 API 框架。 该应用程序的架构设计简化了组 其它的应用程序都可以使用其 件的重用; 任何一个应用程序都可以发布它的功能块并且任何其它 其它 所发布的功能块(不过得遵循框架的安全性限制) 。同样,该应用程序重用机制也使用户可 以方便的替换程序组件。 隐藏在每个应用后面的是一系列的服务和系统, 其中包括; * 丰富而又可扩展的视图(Views) ,可以用来构建应用程序,它包括列表(lists) ,网格 (grids) ,文本框(text boxes) ,按钮(buttons) ,甚至可嵌入的 web 浏览器。 * 内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联 系人数据库 ,或者共享它们自己的数据 数据库) 数据库 * 资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和布 局文件( layout files ) 。 * 通知管理器(Notification Manager)使得应用程序可以在状态栏中显示自定义的提示信 息。 * 活动管理器( Activity Manager)用来管理应用程序生命周期并提供常用的导航回退功 能。 有关更多的细节和怎样从头写一个应用程序,请参考如何编写一个 Android 应用程序. 3.系统运行库 1)程序库 Android 包含一些 C/C++库,这些库能被 Android 系统中不同的组件使用。 它们通过 Android 应用程序框架为开发者提供服务。以下是一些核心库: * Bionic 系统 C 库 - 一个从 BSD 继承来的标准 C 系统函数库( libc ) ,它是专门为基 于 embedded linux 的设备定制的。 * 媒体库 - 基于 PacketVideo OpenCORE;该库支持多种常用的音频、视频格式回放和录 制,同时支持静态图像文件。编码格式包括 MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。 * Surface Manager - 对显示子系统的管理,并且为多个应用程序提供了 2D 和 3D 图层的 无缝融合。这部分代码 * Webkit,LibWebCore - 一个最新的 web 浏览器引擎用, 支持 Android 浏览器和一个可嵌入 的 web 视图。鼎鼎大名的 Apple Safari 背后的引擎就是 Webkit * SGL - 底层的 2D 图形引擎 * 3D libraries - 基于 OpenGL ES 1.0 APIs 实现;该库可以使用硬件 3D 加速(如果可用)或 者使用高度优化的 3D 软加速。 * FreeType -位图(bitmap)和矢量(vector)字体显示。 * SQLite - 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。 *还有部分上面没有显示出来的就是硬件抽象层。其实 Android 并非讲所有的设备驱动都 放在 linux 内核里面,而是实现在 userspace 空间,这么做的主要原因是 GPL 协议,Linux 是 遵循该协议来发布的,也就意味着对 linux 内核的任何修改,都必须发布其源代码。而现在 这么做就可以避开而无需发布其源代码,毕竟它是用来赚钱的。

文档评论(0)

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

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

1亿VIP精品文档

相关文档