Android特性与系统架构
一.Android特性
• 应用程序框架支持组件的重用与替换
• Dalvik 虚拟机专为移动设备优化
•
集成的浏览器基于开源的WebKit 引擎
•
优化的图形库包括定制的2D
图形库,基于OpenGL ES 1.0的3D
图形库
• SQLite 用作结构化的数据存储
•
多媒体支持包括常见的音频、视频和静态图像格式(如MPEG4, H.264, MP3, AAC, AMR, JPG, PNG
, GIF)
• GSM 电话技术(依赖于硬件)
•
蓝牙Bluetooth, EDGE, 3G,
和WiFi(依赖于硬件)
•
照相机,GPS,指南针,和加速度计(accelerometer)(依赖于硬件)
•
丰富的开发环境包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse 集成开发环境插件
二.Android的系统架构

1.
应用程序

同Android系统一起发布的核心应用程序,如email
客户端,SMS
短消息程序,日历,地图,浏览器,联系人管理程序等。(JAVA
编写)
2.
应用程序框架

开发者可以用它开发应用,其中包括:
•
丰富而又可扩展的视图(Views):可以用来构建应用程序,
它包括列表(lists),网格(grids),
文本框(text boxes),按钮(
buttons),
甚至可嵌入的web 浏览器。
•
内容提供器(Content Providers):使得应用程序可以访问另一个应用程序的数据(如联系人数据库),
或者共享它们自己的数据
•
资源管理器(Resource Manager):提供非代码资源的访问,如本地字符串,图形,布局文件(
layoutfiles )
•
通知管理器(Notification
Manager):
使得应用程序可以在状态栏中显示自定义的提示信息
•
活动管理器( Activity Manager):用来管理应用程序生命周期并提供常用的导航回退功能
- 类库

一些C/C++核心库,方便开发者进行应用的开发。
•
系统C
库(libc):专门为基于embedded linux的设备定制的
•
媒体库:支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG,
PNG
• SurfaceManager
:对显示子系统的管理,并且为多个应用程序提供了2D和3D 图层的无缝融合
• webkit/LibWebCore
:Web
浏览引擎,支持Android
浏览器和一个可嵌入的web 视图
• SGL:底层的2D图形引擎
• 3D libraries
:
基于OpenGL ES 1.0 APIs
实现的3D引擎
• FreeType
:位图(bitmap)和矢量(vector)字体显示
• SQLite
:轻型关系型数据库引擎
4.
Android 运行时环境

• Android
核心库:提供了JAVA库的大多数功能
• Dalvik
虚拟机:依赖于linux 内核的一些功能,比如线程机制和底层内存管理机制。同时虚拟机是基于寄存器的,Dalvik
采用简练、高效的byte code
格式运行,它能够在低资耗和没有应用相互干扰的情况下并行执行多个应用,每一个Android
应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik
虚拟机实例。Dalvik
虚拟机中可执行文件为.dex文件,该格式文件针对小内存使用做了优化。所有的类都经由JAVA
编译器编译,然后通过SDK中的"dx"
工具转化成.dex 格式由虚拟机执行。
5.
Linux 内核

Linux
内核作为硬件和软件栈之间的抽象层。Android
的核心系统服务:
安全机制、内存管理、进程管理、网络、硬件驱动
Android特性与系统架构的更多相关文章
- 吴裕雄--天生自然Android开发学习:android 背景相关与系统架构分析
1.Android背景与当前的状况 Android系统是由Andy Rubin创建的,后来被Google收购了:最早的版本是:Android 1.1版本 而现在最新的版本是今年5.28,Google ...
- Android群英传》读书笔记 (1) 第一章 Android体系与系统架构 + 第二章 Android开发工具新接触
第一章 Android体系与系统架构 1.Dalvik 和 ARTDalvik好比是一辆可折叠的自行车,平时是折叠的,只有骑的时候,才需要组装起来用.ART好比是一辆组装好了的自行车,装好就可以骑了. ...
- Android群英传笔记——第一章:Android体系与系统架构
Android群英传笔记--第一章:Android体系与系统架构 图片都是摘抄自网络 今天确实挺忙的,不过把第一章的笔记做一下还是可以的,嘿嘿 1.1 Google的生态圈 还是得从Android的起 ...
- Android之路-------浅淡Android历史、系统架构与开发特色
前言 离上一篇发表的博客差不多有两个星期了吧,相信有些博友差点就对LP失望了,因为上一篇博文中说了,这次不管怎样,LP都会坚持写博客的. 由于工作关系LP才隔了这么久才再次发表博文,这篇博文主要是总结 ...
- 第一章 Android体系与系统架构
1. Dalvik 和 ART(Android Runtime) 在Dalvik中应用好比是一辆可折叠的自行车,平时是折叠的,只有骑的时候,才需要组装起来用.在ART中应用好比是一辆组装好了的自行车, ...
- Android四款系统架构工具
开发者若想开发出一款高质量的应用,一款功能强大的开发工具想必是不可或缺的.开发工具简化了应用的开发流程,也能使开发者在应用开发本身投入更多的精力.本文就为大家带来4款实用的Android应用架构工具. ...
- android sensor传感器系统架构初探
http://blog.csdn.net/qianjin0703/article/details/5942579 http://blog.chinaunix.net/uid-28621021-id-3 ...
- android系统架构解析
以上是我在这个课题下的一些参考博客或者网页链接.里面有对于android架构的一些较好的分析理解,接下来是楼主在阅读后自己的一些整理. Android采用层次化系统架构,官方公布的标准架构如下图所示. ...
- 大型网站系统架构演化之路【mark】
前言 一 个成熟的大型网站(如淘宝.天猫.腾讯等)的系统架构并不是一开始设计时就具备完整的高性能.高可用.高伸缩等特性的,它是随着用户量的增加,业务功能的 扩展逐渐演变完善的,在这个过程中,开发模式. ...
随机推荐
- 微博推荐算法学习(Weibo Recommend Algolrithm)
原文:http://hijiangtao.github.io/2014/10/06/WeiboRecommendAlgorithm/ 基础及关联算法 作用:为微博推荐挖掘必要的基础资源.解决推荐时的通 ...
- Mac Finder中如何复制当前完整路径
1.拖到命令行 2.在Finder中command+i 会弹出详细信息,然后[位置]处进行 copy 3.利用Automator,添加一个服务的快捷键. 转自:http://q.cnblogs.com ...
- easyui datagrid种编辑器combobox选择的值不显示解决方案
var combobox_json = [{ "combobox_value" : "GDLB01", "combobox_name" : ...
- Linux远程上传、下载文件的方法
主要内容: ftp命令 scp命令 WinScp Putty (PSCP) Xshell 一.ftp命令 服务器有安装ftp Server,另外一台linux可以使用ftp的client程序来进行文件 ...
- Java开发中所遇问题积累
1.判断两个字符串是否相等时,如下,使用" == "无效: String name = "Jack"; if(name.equals("Jack&qu ...
- JDBC二查询(web基础学习笔记八)
一.建立数据库 --创建news表空间 CREATE TABLESPACE tbs_news DATAFILE 'F:\ORACLE\news.dbf' SIZE 10M AUTOEXTEND ON; ...
- 导入maven项目出现 Unsupported IClasspathEntry kind=4
Unsupported IClasspathEntry kind=4 这个异常会导致项目无法使用spring ide启动 来自:http://blog.csdn.net/kongqz/article/ ...
- WebApi 数据保护操作未成功。这可能是由于未为当前线程的用户上下文加载用户配置文件导致的。当线程执行模拟时,可能会出现此情况。","ExceptionType":"System.Security.Cryptography.CryptographicException","StackTrace
在调用System.Security.Cryptography.ProtectedData.Protect方法来保护私密信息时,IIS可能会报以下错误:CryptographicException: ...
- TestNG方法測试及注意要点 代码及配置具体解释(解决testng方法不运行问题)
教你解决为什么TestNG中方法加了@Test注解,也在配置文件里配置了,可是方法就是不运行! 在使用TestNG进行測试时,使用配置文件的方式更easy于维护.可是常常遇到明明方法写了也配置运行了, ...
- 【Spark】RDD操作具体解释3——键值型Transformation算子
Transformation处理的数据为Key-Value形式的算子大致能够分为:输入分区与输出分区一对一.聚集.连接操作. 输入分区与输出分区一对一 mapValues mapValues:针对(K ...