一.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):用来管理应用程序生命周期并提供常用的导航回退功能

  1. 类库

一些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特性与系统架构的更多相关文章

  1. 吴裕雄--天生自然Android开发学习:android 背景相关与系统架构分析

    1.Android背景与当前的状况 Android系统是由Andy Rubin创建的,后来被Google收购了:最早的版本是:Android 1.1版本 而现在最新的版本是今年5.28,Google ...

  2. Android群英传》读书笔记 (1) 第一章 Android体系与系统架构 + 第二章 Android开发工具新接触

    第一章 Android体系与系统架构 1.Dalvik 和 ARTDalvik好比是一辆可折叠的自行车,平时是折叠的,只有骑的时候,才需要组装起来用.ART好比是一辆组装好了的自行车,装好就可以骑了. ...

  3. Android群英传笔记——第一章:Android体系与系统架构

    Android群英传笔记--第一章:Android体系与系统架构 图片都是摘抄自网络 今天确实挺忙的,不过把第一章的笔记做一下还是可以的,嘿嘿 1.1 Google的生态圈 还是得从Android的起 ...

  4. Android之路-------浅淡Android历史、系统架构与开发特色

    前言 离上一篇发表的博客差不多有两个星期了吧,相信有些博友差点就对LP失望了,因为上一篇博文中说了,这次不管怎样,LP都会坚持写博客的. 由于工作关系LP才隔了这么久才再次发表博文,这篇博文主要是总结 ...

  5. 第一章 Android体系与系统架构

    1. Dalvik 和 ART(Android Runtime) 在Dalvik中应用好比是一辆可折叠的自行车,平时是折叠的,只有骑的时候,才需要组装起来用.在ART中应用好比是一辆组装好了的自行车, ...

  6. Android四款系统架构工具

    开发者若想开发出一款高质量的应用,一款功能强大的开发工具想必是不可或缺的.开发工具简化了应用的开发流程,也能使开发者在应用开发本身投入更多的精力.本文就为大家带来4款实用的Android应用架构工具. ...

  7. android sensor传感器系统架构初探

    http://blog.csdn.net/qianjin0703/article/details/5942579 http://blog.chinaunix.net/uid-28621021-id-3 ...

  8. android系统架构解析

    以上是我在这个课题下的一些参考博客或者网页链接.里面有对于android架构的一些较好的分析理解,接下来是楼主在阅读后自己的一些整理. Android采用层次化系统架构,官方公布的标准架构如下图所示. ...

  9. 大型网站系统架构演化之路【mark】

    前言 一 个成熟的大型网站(如淘宝.天猫.腾讯等)的系统架构并不是一开始设计时就具备完整的高性能.高可用.高伸缩等特性的,它是随着用户量的增加,业务功能的 扩展逐渐演变完善的,在这个过程中,开发模式. ...

随机推荐

  1. 使用swipemenulistview实现列表的左右滑动

    今天从网上找到一个第三方控件swipemenulistview,封装好的一个控件,可以实现列表的左右滑动,模仿qq的列表效果 下载地址为:https://github.com/baoyongzhang ...

  2. spark深入:配置文件与日志

    一.第一部分 1.spark2.1与hadoop2.7.3集成,spark on yarn模式下,需要对hadoop的配置文件yarn-site.xml增加内容,如下: <property> ...

  3. 机器视觉之 ICP算法和RANSAC算法

    临时研究了下机器视觉两个基本算法的算法原理 ,可能有理解错误的地方,希望发现了告诉我一下 主要是了解思想,就不写具体的计算公式之类的了 (一) ICP算法(Iterative Closest Poin ...

  4. Linux上磁盘挂载

    Linux磁盘挂载   一.  磁盘分区 在终端输入fdisk –l 命令查看整个系统的分区情况. 能够看到另一个32G的/dev/vdb磁盘没有挂载使用 watermark/2/text/aHR0c ...

  5. 读取Mat文件中的汉字代码

    拿到一种元数据,格式为*.mat,但Access打不开,百度也没看到比较好的解决方案. 但是用文本文档可以打开,那估计它和txt类似了,于是想自己写代码来处理了,立马写了读取的丑陋工具.读取是没什么问 ...

  6. sqlplus的使用

    1.连接数据库 sqlplus / as sysdba 2.连接到远程数据库 sqlplus 用户名/密码@服务命名 3.遇到&会当成变量,一般是不需要的,可以关掉 SQL> set d ...

  7. 腾讯云兑现存储获取临时授权C#版

    腾讯官方没有提供C#版的,没办法自己根据java版改写了一个,这里面的坑花了我20多个小时,所以记录下 <%@ WebHandler Language="C#" Class= ...

  8. Nor Flash启动和Nand Flash启动时Stepping stone都在哪?

    当从Norflash启动时,Steppingstone被映射到地址 0x4000 0000 至 0x4000 0FFF: 当从Nandflash启动时,Steppingstone被映射到地址 0x00 ...

  9. An application icon

    The application icon is a small image which is usually displayed in the top left corner of the title ...

  10. C语言位域精解(转)

    有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位.例如在存放一个开关量时,只有0和1 两种状态,用一位二进位即可.为了节省存储空间,并使处理简便,C语言又提供了一种数据结构, ...