1.Applications

该层是Android应用程序层。

每一个应用必须利用android系统设计的应用框架(application framework)开发。

眼下的开发环境是eclipse + ADT, 详细安装方式能够从网上找。开发语言是java, 也可用JNI(须要安装NDK)方式调用其它语言(如c, c++)编写的代码。android系统公布时通常会预置一些经常使用应用,如 phone。contacts。phone, maps,browser,email, gallery等。SDK自带的samples中apiDemos差点儿包含了全部API的使用方式,是一个好的学习材料。

2. Application Framework

提供应用程序开发框架及其管理模式。包含

1)Activity Manager: Activity Manager维护应用的生命周期,并提供一致的导航机制。

2)Window Manager: 管理window相关的方法和属性。

3)Content Provider: 通过公共接口提供应用间数据共享机制。能够让一个程序把自己数据共享给其它程序。

4)View System: 标准控件。包含 DatePicker, TimePicker, Spinner, AutoComplete, Button, EditText, CheckBox, Radio, ImageButton, Gallery, ImageSwitcher, ListView, GridView 以及 LinearLayout, RelativeLayout, TableLayout三种布局管理算法,很的有用。

5)Notification Manager: 自己定义提示标志管理,这些标志会显示在手机状态栏。

6)Package Manager: 提供与package相关的管理功能

7)Telephony Manager:提供手机设备功能接口。比方battery, network等等

8)Resource Manager:  提供非代码资源的訪问能力。如本地化字符串,图片,布局等资源

9) Location Manager:  提供基于GPS或network的位置訪问接口

3.Libraries

1)Surface Manager: 组合多个应用的图层显示到物理设备上

2)OpenGL|ES: 3D 图形库

3)SGL: 2D 图形库

4)Media Framework: 基于 PacketVideo 的 OpenCORE,支持播放以及录制很多流行的音频视频格式以及静态图片格式。包含 MPEG4, H.264, MP3, AAC, AMR, JPG, PNG。

5)FreeType: 位图字体和矢量字体渲染

6)SSL: 安全通信

7)SQLite: 轻量级的关系数据库

8)WebKit: web引擎

9)Libc: 系统 C 库

4. Android Runtime

1)Core Libraries: Java 核心类库

2)Dalvik Virtual Machine: Dalvik是Google公司自己设计用于Android平台的Java虚拟机,它基于寄存器而非堆栈的虚拟机。运行 .dex (即Dalvik Executable)格式的文件,该格式是专为Dalvik设计的一种压缩格式,能够降低总体文件尺寸,提高I/o操作、类查找速度,所以比較适合移动电话这样的资源受限的系统。.dex 文件是用 dx 工具从 Java 的 .class
文件转换过来的。android应用的全部文件(包含*.so)最后都会打包成 .apk 文件,经安装之后就可以执行在simulatore/手机上。

5.Linux Kernel

linux内核提供操作系统核心功能,包含各种硬件驱动,电源管理。

android的架构图的更多相关文章

  1. android系统架构图

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

  2. iphone开发 IOS 组织架构图

    转载自 :http://blog.csdn.net/mashi321323/article/details/18267719   登录|注册     mashi321323的专栏       目录视图 ...

  3. Atitit jOrgChart的使用  组织架构图css html

    Atitit jOrgChart的使用  组织架构图css html 1. 项目要做组织架构图,要把它做成自上而下的树形结构,于是决定1 2. Html导入 以来的css js1 2.1. 数据来源 ...

  4. 飞达资讯App总体介绍及关系架构图

    飞达资讯App总体介绍: 下图为飞达资讯App的关系架构图: 该App关系架构图所需的图片云盘链接地址:http://pan.baidu.com/s/1gfHIe4b 提取密码:x1nr 该App的云 ...

  5. 关于SAP4.7的几个架构图

    http://blog.itpub.net/92530/viewspace-154881/ 1.SAP基本架构图 2.SAP的应用层的工作进程架构图 3.SAP的内存类型图 4.SAP数据访问架构图 ...

  6. MyBatis架构图

    MyBatis架构 MyBatis依赖的jar不多,而且代码行数也没多少,其中使用了大量的设计模式,值得好好学习.下图是MyBatis的一张架构图,来自Java框架篇—Mybatis 入门. Myba ...

  7. struts2原理架构图

    struts2 原理架构图

  8. LoadRunner相关架构图

    LoadRunner概览图: Lr架构图:

  9. live555源码学习1---Socket流程架构图

    怎么说呢,换了工作环境,好多软件公司禁止使用了,有道笔记也无法使用了.发现博客园还可以上传图片,以后只能在这里记录了. 越发的感觉需要尽快把live555的代码拿下.因为工作环境问题,webrtc的源 ...

随机推荐

  1. stylesheet_link_tag,javascript_include_tag无效?

    stylesheet_link_tag,javascript_include_tag无效? http://stackoverflow.com/questions/28241981/rails-4-ex ...

  2. plsql解决64位解决办法

    plsql解决64位解决办法 设置PLSQL Developer访问本机64位Oracle 由于在本机Windows Server 2008 R2 X64上安装了64位的Oracle 11.2.0.1 ...

  3. tableView计算动态行高的总结

    研究tableView怎么计算动态行高研究了两天一直还不太会,今天最终做出来了想要的效果. 首先.我在网上搜集了非常多资料,各种大神的总结,然后開始看.研究.试验,基本思路都是一样的. 1.一定要将l ...

  4. Keyboard的显示与隐藏

    一个控制键盘显示与隐藏的工具类分享给大家 public class KeyBoardTool { /** * 假设输入法在窗体上已经显示.则隐藏.反之则显示 * @param context */ p ...

  5. Android error--No implementation found for native Lcomd

    在利用NDK编译Cpp执行时,出现了No implementation found for native Lcom等错误,调试好久,才发现 XXX.h和XXX.cpp.在XXX.cpp里#includ ...

  6. DISCUZ站点DIY后,导致DIY功能失效,无法在前台删除已创建的DIY功能解决的方法

    DISCUZ站点DIY后.导致DIY功能失效,无法在前台删除已创建的DIY功能解决的方法.这是一个常常会遇到的问题.在程序调试过程中常常的会遇到这种问题.这里提供一个自己常常使用的解决的方法,供遇到这 ...

  7. Mysql中You can't specify target table for update in FROM clause错误的意思是说,不能先select出同一表中的某些值,再update这个表(在同一语句中)。

    将select出的结果再通过中间表select一遍,这样就规避了错误.注意,这个问题只出现于mysql,mssql和oracle不会出现此问题. mysql中You can't specify tar ...

  8. android WebViewClient和WebChromeClient

    一.Android之WebViewClient与WebChromeClient的区别 ANDROID应用开发的时候可能会用到WEBVIEW这个组件,使用过程中可能会接触到WEBVIEWCLIENT与W ...

  9. ubuntu16.04+caffe训练mnist数据集

    1.   caffe-master文件夹权限修改 下载的caffe源码编译的caffe-master文件夹貌似没有写入权限,输入以下命令修改: sudo chmod -R 777 ~/caffe-ma ...

  10. 剑指offer——03从尾至头打印列表(Python3)

    思路:相当于数据结构中的链表就地逆置,可以使用头插法来实现. 代码: class Solution:     # 返回从尾部到头部的列表值序列,例如[1,2,3]     def printListF ...