android的架构图

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的架构图的更多相关文章
- android系统架构图
android的系统架构和其操作系统一样,采用了分层的架构.从架构图看,android分为四个层,从高层到低层分别是应用程序层.应用程序框架层.系统运行库层和Linux核心层. 1.应用程序 Andr ...
- iphone开发 IOS 组织架构图
转载自 :http://blog.csdn.net/mashi321323/article/details/18267719 登录|注册 mashi321323的专栏 目录视图 ...
- Atitit jOrgChart的使用 组织架构图css html
Atitit jOrgChart的使用 组织架构图css html 1. 项目要做组织架构图,要把它做成自上而下的树形结构,于是决定1 2. Html导入 以来的css js1 2.1. 数据来源 ...
- 飞达资讯App总体介绍及关系架构图
飞达资讯App总体介绍: 下图为飞达资讯App的关系架构图: 该App关系架构图所需的图片云盘链接地址:http://pan.baidu.com/s/1gfHIe4b 提取密码:x1nr 该App的云 ...
- 关于SAP4.7的几个架构图
http://blog.itpub.net/92530/viewspace-154881/ 1.SAP基本架构图 2.SAP的应用层的工作进程架构图 3.SAP的内存类型图 4.SAP数据访问架构图 ...
- MyBatis架构图
MyBatis架构 MyBatis依赖的jar不多,而且代码行数也没多少,其中使用了大量的设计模式,值得好好学习.下图是MyBatis的一张架构图,来自Java框架篇—Mybatis 入门. Myba ...
- struts2原理架构图
struts2 原理架构图
- LoadRunner相关架构图
LoadRunner概览图: Lr架构图:
- live555源码学习1---Socket流程架构图
怎么说呢,换了工作环境,好多软件公司禁止使用了,有道笔记也无法使用了.发现博客园还可以上传图片,以后只能在这里记录了. 越发的感觉需要尽快把live555的代码拿下.因为工作环境问题,webrtc的源 ...
随机推荐
- stylesheet_link_tag,javascript_include_tag无效?
stylesheet_link_tag,javascript_include_tag无效? http://stackoverflow.com/questions/28241981/rails-4-ex ...
- plsql解决64位解决办法
plsql解决64位解决办法 设置PLSQL Developer访问本机64位Oracle 由于在本机Windows Server 2008 R2 X64上安装了64位的Oracle 11.2.0.1 ...
- tableView计算动态行高的总结
研究tableView怎么计算动态行高研究了两天一直还不太会,今天最终做出来了想要的效果. 首先.我在网上搜集了非常多资料,各种大神的总结,然后開始看.研究.试验,基本思路都是一样的. 1.一定要将l ...
- Keyboard的显示与隐藏
一个控制键盘显示与隐藏的工具类分享给大家 public class KeyBoardTool { /** * 假设输入法在窗体上已经显示.则隐藏.反之则显示 * @param context */ p ...
- Android error--No implementation found for native Lcomd
在利用NDK编译Cpp执行时,出现了No implementation found for native Lcom等错误,调试好久,才发现 XXX.h和XXX.cpp.在XXX.cpp里#includ ...
- DISCUZ站点DIY后,导致DIY功能失效,无法在前台删除已创建的DIY功能解决的方法
DISCUZ站点DIY后.导致DIY功能失效,无法在前台删除已创建的DIY功能解决的方法.这是一个常常会遇到的问题.在程序调试过程中常常的会遇到这种问题.这里提供一个自己常常使用的解决的方法,供遇到这 ...
- 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 ...
- android WebViewClient和WebChromeClient
一.Android之WebViewClient与WebChromeClient的区别 ANDROID应用开发的时候可能会用到WEBVIEW这个组件,使用过程中可能会接触到WEBVIEWCLIENT与W ...
- ubuntu16.04+caffe训练mnist数据集
1. caffe-master文件夹权限修改 下载的caffe源码编译的caffe-master文件夹貌似没有写入权限,输入以下命令修改: sudo chmod -R 777 ~/caffe-ma ...
- 剑指offer——03从尾至头打印列表(Python3)
思路:相当于数据结构中的链表就地逆置,可以使用头插法来实现. 代码: class Solution: # 返回从尾部到头部的列表值序列,例如[1,2,3] def printListF ...