android的系统架构和其操作系统一样,采用了分层的架构。从架构图看,android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux核心层。

1.Linux内核:

  Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性,内存管理,进程管理, 网络协议栈和驱动模型。 Linux 内核也同时作为硬件和软件栈之间的抽象层。

2.库:

  Android 包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。以下是一些核心库:

    * libc(系统 C 库) - 一个从 BSD 继承来的标准 C 系统函数库( libc ), 它是专门为基于 embedded linux 的设备定制的。

   *Media Framework( 媒体库)- 基于 PacketVideo OpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包

MPEG4, H.264, MP3,AAC, AMR, JPG, PNG 。

    * 图形库-包含OpenGL,SGL,freeType

        OpenGL:基于OpenGL ES 1.0 APIs实现;该库可以使用硬件 3D加速(如果可用)或者使用高度优化的3D软加速。

        SGL: 底层的2D图形引擎

        FreeType: 位图(bitmap)和矢量(vector)字体显示

    * Surface Manager(外观管理器) - 对显示子系统的管理,并且为多个应用程序提 供了2D和3D图层的无缝融合。     

    * WebKit (LibWebCore) - 一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。

    * SQLite - 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎

    *SSL- 处理SSL通信

Android 运行时:     

  android运行时可以让一个android手机从本质上与一个linux实现的手机区分开来。由于android运行时包含了核心库和Dalvik虚拟机,因此,它向应用程序提供动力

的引擎,它和libs一起形成了应用程序的基础  

  core Libraries: 虽然android开发使用的是java语言,但Dalvik并不是一个java虚拟机.android核心库提供了java核心库以及android特定库可用的大部分功能。  

  Dalvik虚拟机: Dalvik虚拟机是一个基于寄存器的虚拟机,它已经被优化,从而保证一个设备可以高效的运行多个实例,它依赖Linux内核进行线程和底层内存管理

应用程序框架
  开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。
  隐藏在每个应用后面的是一系列的服务和系统, 其中包括;
  * 丰富而又可扩展的视图(Views),可以用来构建应用程序, 它包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons), 甚至可嵌入的web浏览器。
  * 内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据
  * 资源管理器(Resource Manager)提供 非代码资源的访问,如本地字符串,图形,和布局文件( layout files )。
  * 通知管理器 (Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。
  * 活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。
  有关更多的细节和怎样从头写一个应用程序,请参考 如何编写一个 Android 应用程序.

应用程序
  Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。

      

更多相关文章

  1. Android(安卓)手机上安装并运行 Ubuntu 12.04
  2. Android(安卓)的木马危机
  3. 详解使用tcpdump、wireshark对Android应用程序进行抓包并分析
  4. Android用户输入系统和移植内容概要
  5. Android(安卓)API demos 阅读笔记 5
  6. android调用系统相机拍摄多张照片
  7. iPod Touch也将支持运行Android系统
  8. Android应用程序线程的消息循环模型
  9. android webview 访问https页面 SslError 处理

随机推荐

  1. Eclipse打开Android工程
  2. ANDROID Porting系列四、建立公开密钥和
  3. Android 悬浮窗权限各机型各系统适配大全
  4. android中TextView中如何设置水平滚动效
  5. Android(安卓)MediaPlayer类
  6. 厚积方能薄发,通往Android封神之路的降龙
  7. Android接入支付宝实现支付功能
  8. 从性能角度选购Adroid智能手机,双核、大屏
  9. android 快速创建一个新的线程
  10. Android中android:id="@id/变量名"和andr