android平台及架构简述


android系统的底层是建立在linux系统之上,是由操作系统、中间件、用户界面和应用软件四层组成。该四层确


保了层与层之间的低耦合,当下层发生改变时,上层应用程序无需做任何改变。(关于android的体系结构可以参考


android官方文档),Android平台采用了整合的策略思想,包括底层Linux操作系统、中间层的中间件和上层的Java


应用程序。


android系统主要部分的组成




应用程序层

应用程序层主要存放一些android的应用程序,比如电子邮件客户端、SMS程序、日历、地图、浏览


器、联系人等等一系列的应用。(当然这些应用都是java编写的)


应用程序框架

当我们去编写应用程序时,必不可少的是一定会去调用一些API,那应用程序框架就是提供开发者


去开发应用程序所需的大量的API。应用程序框架除了作为应用程序开发的基础外,也是软件复用的重要手段。

以下所有的应用程序都由一系列的服务和系统组成,包括:


  1、一个可扩展的视图(Views)可以用来创建应用程序,包括列表(lists)、网络(grids)、文本框(text


boxes)、按钮(buttons),甚至是一个可嵌入的Web浏览器。


  2、内容管理器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或


者共享它们自己的数据。


  3、一个资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串、图形和分层文件(layout


files)。


  4、一个通知管理器(Notification Manager)使得应用程序可以在状态栏中显示客户通知信息。


  5、一个活动类管理器(Activity Manager)用来管理应用程序生命周期并提供常用的导航回退功能。


函数库


android有一套被不同组件所使用的C/C++库的集合。一般应用开发者不能直接去调用这套库集,但可以通


过应用程序框架去调用这些库。


下面列出一些核心的库:


1、系统C库:一个从BSD系统派生出来的标准C系统库,专门为嵌入式linux设备调整过。


2、媒体库:基于PacketVideo的OpenCORE,支持播放一些流行的音频和视频格式,以及查看静态图片。


3、Surface Manager:管理对显示子系统的访问,并对多个应用程序的2D和3D图层机制提供无缝整合。


4、LibWebCore:一个Web浏览器引擎,为android浏览器提供支持。


5、SGL:底层的2D图形引擎。


6、3D libraries:可使用硬件3D加速,也可使用搞定优化的,软件3D加速


7、FreeType:位图和向量字体显示。


8、SQLite:供所有应用程序使用的,功能强大的轻量级关系数据库。


android运行时


android运行时由两部分组成:android核心库集和Dalvik虚拟机。核心库集提供了java语言核心库所能使用的绝


大部分功能,虚拟机则负责运行android应用程序。


每个android应用程序都运行在单独的Dalvik虚拟机内。


Linux内核


Linux内核提供安全性、内存管理、进程管理、网络协议栈和驱动模型等核心系统服务。Linux内核也是系统硬件


和软件叠层之间的抽象层。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

转载请注明出处:http://blog.csdn.net/hai_qing_xu_kong/article/details/10995151情绪控

更多相关文章

  1. 让Android应用程序支持安装到SD卡
  2. Android(安卓)ROM开发之预制GMS
  3. 使用Eclispe进行Android系统应用的开发和调试
  4. Ubuntu11.10 64Bit版上的Android(安卓)4.0 开发环境搭建
  5. Android实现打开系统照相机&相册图片展示
  6. Android程序员指南(12)
  7. android service(一)
  8. android 根文件系统 init
  9. 优秀的Android财务应用

随机推荐

  1. Android培训HandlerThread的使用及源码解
  2. Android手动编译打包
  3. 实例:在Android调用WCF服务(wcf restful)
  4. 项目运行报错Error: Static interface me
  5. Android(安卓)调试桥
  6. Android(安卓)EditText光标颜色 与inputT
  7. Android中有关数据库SQLite的介绍
  8. 使用ViewFlipper来组织控件
  9. 在 ubuntu10.04下 载 android源码 步骤
  10. android背景选择器selector用法小结