Android系统架构图
一、Aplications(应用层)
应用是用Java语言编写的云新在虚拟机上的程序。
二、Application Framework(应用框架层)
这一层是编写Google发布的核心应用时所使用的API框架,开发人员可以使用这些框架来开发自己的应用。
View System:可以用来构建应用程序,它包括列表、网格、文本框、按钮以及可嵌入的Web浏览器。
Content Providers:它可以让一个应用访问另一个应用的数据,或共享它们自己的数据。
Resource Manager:提供非代码资源的访问,如本地字符串、图形和布局文件。
Notification Manager:应用可以在状态栏中显示自定义的提示信息。
Activity Manager:用来管理应用程序生命周期并提供常用的导航退回功能。
Window Manager:管理所有的窗口程序。
Package Manager:Android系统内的程序管理。
三、Libraries、Android Runtime(系统运行库层)
当使用Android应用框架时,Android系统会通过一些C/C++库赖支持我们使用的各个组件,使其能更好地为我们服务。
Bionic系统C库:C语言标准库,系统最底层的的库,C库通过Linux系统来调用。
多媒体库(MediaFramework):Android系统多媒体库,基于PackerVideo OpenCORE,该库支持多种常见格式的音频、视频的回放和录制,以及图片,比如MPEG4、MP3、AAC、AMR、JPG、PNG等。
SGL:2D图形引擎库。
SSL:位于TCP/IP协议与各种应用层协议之间,为数据通信提供支持。
OpenGL ES 1.0:3D效果的支持。
SQLite:关系数据库。
Webkit:Web浏览器引擎。
FreeType:位图(bitmap)及矢量(vector)字体。
在Android操作系统中,每个Java程序都运行在Dalvik虚拟机上,其只能执行.dex的可执行文件,当Java程序通过编译后,最后还需要通过SDK中的dx工具转为成.dex格式才能正常在虚拟机上执行,Java虚拟机运行的是Java字节码,而Dalvik虚拟机运行的则是其专有的文件格式dex(Dalvik Exceutable)的文件。
Dalvik虚拟机有如下几个主要特征:
1.专有的dex文件格式。
2.dex的优化,dex文件的结构是紧凑的。
3.基于寄存器。
4.一个应用,一个虚拟机实例,一个进程。每一个Android应用度运行在一个Dalvik虚拟机实例中,每一个虚拟机实例都是一个独立的进程空间。
四、Linux Kernel(Linux内核层)
显示驱动(Display Driver):基于Linux的帧缓冲(Frame Buffer)驱动。
键盘驱动(KeyBoard Driver):作为输入设备的键盘驱动。
Flash内存驱动(Flase Memory Driver):基于MTD的Flash驱动程序。
照相机驱动(Camera Driver):常用的基于Linux的v412(Video for Linux)的驱动。
音频驱动(Audio Driver):常用的基于ALSA的高级Linux声音体系驱动。
蓝牙驱动(Bluetooth Driver):基于IEEE 802.15.1标准的无线传输技术。
WiFi驱动:基于IEEE 802.11标准的驱动程序。
Binder IPC驱动:Android的一个特殊的驱动程序,具有单独的设备节点,提供进程间通信的功能。
Power Management(电源管理):比如电池电量等。
五、Android应用程序框架
android.app:提供高层的程序模型和基本的运行环境。
android.content:包含对各种设备上的数据进行访问和发布。
android.database:通过内容提供者浏览和操作数据库。
android.graphics:底层的图形库,包含画布i、颜色过滤、点、矩形,可以将它们直接绘制到屏幕上。
android.location:定位和相关服务的类。
android.media:提供一些类管理多种音频、视频的媒体接口。
android.net:提供帮助网络访问的类,超过通常的java.net.*接口。
android.os:提供了系统服务、消息传输和IPC机制。
android.opengl:提供OpenGL的工具。
android.provider:提供访问Android内容提供者的类。
android.telephony:提供与拨打电话相关的API交互。
android.view:提供基础的用户界面接口框架。
android.util:涉及工具性的方法,例如时间日期的操作。
android.webkit:默认浏览器操作接口。
android.widget:包含各种UI元素在应用程序的布局中使用。
Android系统架构图相关推荐
- 几行代码就搞定高端大气的云系统架构图
想知道如何用Python代码绘制出云系统架构图,那么,今天猿妹要和大家分享的这个开源项目你一定喜欢--diagrams. 想知道如何用Python代码绘制出云系统架构图,那么,今天猿妹要和大家分享的这 ...
- 智能工厂系统架构图_一些智能化弱电系统架构图,做方案可以用
前言: 大家好,我是薛哥.很多人对于每个行业的系统架构不太了解,今天汇总了一些主要方案的系统架构图,希望对新人有所帮助. 正文: 1.智慧社区智能化弱电系统解决方案,主要包含可视对讲系统.周界防范系统 ...
- 画一个客户画像系统架构图
好的,我会尽力用中文为您画出一幅客户画像系统架构图. 首先,客户画像系统通常由以下几个部分组成: 数据收集和存储:这一部分负责从各种来源收集客户数据,并将这些数据存储在数据仓库或数据库中.常见的数据来 ...
- 怎样画一张人见人爱的系统架构图
文/明道云创始人任向晖 在我们IT行业,经常要画系统架构图.这是和客户,上下游伙伴进行技术和商务沟通的有效工具.几乎任何一个复杂企业软件产品和方案都会把系统架构图作为商业表达的重点.在技术研讨会上,这 ...
- 马斯克晒出Twitter系统架构图
出品 | OSC开源社区(ID:oschina2013) 近日,马斯克前往 Twitter 总部大楼和工程师团队进行了 code review,并在结束后晒出了合照,以及 Twitter 的系统架构图 ...
- 职工管理系统c语言课设需求分析,人力资源管理系统需求分析报告及系统架构图...
人力资源管理系统需求分析 小组成员:朱国辉 许珍源 1.需求获取及分析 1.1业务需求 随着现在计算机技术的不断完善,以及现代经济的不断发展,传统的管理技术不再满足企业的需要,越来越多的企业注重计算机 ...
- 项目杂谈:聚合搜索系统架构图
1:什么是聚合搜索 就是输入一个网站得查询条件:将所有网站得查询结果全部展示出来,如下图 2:系统架构图
- python架构图教程_Python 五分钟绘制漂亮的系统架构图
Diagrams 是一个基于Python绘制云系统架构的模块,它能够通过非常简单的描述就能可视化架构,并支持以下6个云产品的图标: AWS.Azure.GCP.K8s.阿里云 和 Oracle 云 ...
- python如何画虚线_Python威力巨大,五分钟如何绘制出漂亮的系统架构图?
Python威力巨大,而Diagrams 是一个基于Python绘制云系统架构的模块,它能够通过非常简单的描述就能可视化架构,并支持以下6个云产品的图标: 基于Diagrams提供的节点,你只需要指定 ...
最新文章
- php memcache 封装类,PHP 自定义session储存 MEMCACHE 方式类
- 用python画月亮的代码-用 Python 画一个超级月亮
- ES6的新特性----Vue学习必备基础知识
- java ftp commonsnet_用Java下载整个FTP目录(Apache Net Commons)
- 字符串工具类,随机生成字符串
- 小程序input实现数据双向绑定
- tomcat运行时候出现java.net.BindException: Address already in use: JVM_Bind错误解决方法
- mysql 索引修复_mysql数据库索引损坏及修复经验分享
- 字符串的连接(复习)
- 【图像隐写】基于matlab DCT数字水印添加+提取+干扰【含Matlab源码 803期】
- shl归纳推理测试题库_shl归纳推理测试答案
- Flash遮罩之放大镜
- 为什么每天都在学习,生活还是没有任何改善?
- android 根据宽度调整字体大小,android 字体大小 根据分辨率 自动调整
- 老年计算机班教案,山东老年大学课程好潮!摄影电脑智能手机班人气爆棚
- 真是没想到!原来微信还有这么厉害的翻译功能,一键轻松翻译
- 小能手英语口语学习笔记
- 2021高考成绩省内排名查询,云南高考排名查询方法 2021年云南高考成绩位次全省排名查询...
- VISTA系统常识技巧集锦
- 【R语言系列01】烦人的拼贴操作 详述 paste and paste0
热门文章
- 小组会谈(2019.3.14)
- hdu5693 D gamehdu 5712 D++ game
- web面试常见问题补充
- Python爬虫入门四之Urllib库的高级用法
- 在落雨的鼓浪屿打着伞到处走走找个地方坐坐
- 【转】SQL Server 索引结构及其使用(二)
- Delphi XE2 之 FireMonkey 入门(20) - TStyleBook(皮肤、样式相关)
- 计算机网络学习笔记-1.1.3-速率相关的性能指标
- JDBC--Java Database Connectivity
- matlab实验符号计算答案,实验7 Matlab符号计算.doc