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. 微软ASP.NET网站部署指南(9):部署数据库更新

    1.  综述 无论什么时候,程序都有可能像代码更新一样更新数据库.本章节你将进行数据库改动,測试.然后部署到測试环境和生产环境. 提醒:假设依据本章节所做的操作出现错误信息或一些功能不正常的话,请务必 ...

  2. MFC exe使用C++ dll中的std::string 崩溃

    VC6中 MFC exe中 new  纯C++ dll dll 崩溃 我把纯C++的 dll,用/MTd 换成/MDd.就能够了

  3. 用 C 语言编写一个简单的垃圾回收器

    人们似乎觉得编写垃圾回收机制是非常难的,是一种仅仅有少数智者和Hans Boehm(et al)才干理解的高深魔法.我觉得编写垃圾回收最难的地方就是内存分配,这和阅读K&R所写的malloc例 ...

  4. 2015.04.20,外语,读书笔记-《Word Power Made Easy》 11 “如何辱骂敌人” SESSION 30

    1.brothers and sisters, wives and husbands Frater: brothers; soror: sister; uxor: wife; maritus: hus ...

  5. ubuntu dig timeout解决方法,dnscat执行失败也是这个原因

    dig 失败一般是什么原因?怎么排查? sudo vi /etc/resolvconf/resolv.conf.d/head 写入: nameserver 223.5.5.5nameserver 22 ...

  6. Hua Wei 机试题目一

    一.身份证号码验证 题目描述: 我国公民的身份证号码特点如下:1. 长度为18位:2. 第1-17位只能为数字:3. 第18位可以是数字或者小写英文字母x.4. 身份证号码的第7~14位表示持有人生日 ...

  7. jmeter的认识

    jmeter JMeter是Apache组织开发的开源项目,设计之初是用于做性能测试的,同时它在实现对各种接口的调用方面做的比较成熟,因此,常被用做接口功能测试和性能测试. 它能够很好的支持各种常见接 ...

  8. HDU 2199 Can you solve this equation?【二分查找】

    解题思路:给出一个方程 8*x^4 + 7*x^3 + 2*x^2 + 3*x + 6 == Y,求方程的解. 首先判断方程是否有解,因为该函数在实数范围内是连续的,所以只需使y的值满足f(0)< ...

  9. day19-1 迭代器,三元表达式,列表推导式,字典生成式,

    目录 迭代器 可迭代对象 迭代器对象 总结 三元表达式(三目表达式) 列表推导式 字典生成式 迭代器 可迭代对象 拥有iter方法的对象就是可迭代对象 # 以下都是可迭代的对象 st = '123'. ...

  10. node——读取文件中的路径问题

    前提 当前的js文件叫_dirnameandfilename.js和hello.txt同在G:\node练习文件夹下 还有一个_dirnameandfilename.js文件在i:/文件夹,但是i:/ ...