Android简介

1.通讯制式的进化

手机的发展根据通信技术大致可以划分为4个时代(G:Generation的缩写):

Ø1G:最初的模拟、仅限语音的蜂窝电话标准。类似于简单的无线电台,只能进行通话,并且通话是锁定在一定频率上的,这个频率也就是手机号码。(很容易被窃听)

Ø2G:第二代移动通信技术,代表为GSM,以数字语音传输技术为核心。比如那会儿的小灵通手机,信号质量和通话质量都非常好。还有一些智能手机,可以支持一些简单的java小程序,如UC浏览器,搜狗输入法等。

Ø3G:无线通信与国际互联网等多媒体通信结合的移动通信系统。能够处理图像、音乐、视频流等多种媒体形式,提供包括网页浏览、电话会议、电子商务等多种信息服务。3G技术在传输声音和数据的速度上有很大的提升,也是当今最流行的通信技术。

Ø4G:又称IMT-Advanced技术,包括了TD-LTE和FDD-LTE,LTE就是Long Term Evolution的缩写,长期演进的意思。4G能够传输高质量的视频和图像,并且速度比之前采用的拨号上网快200倍,几乎满足所有用户对无线网的需要,理论上可达100Mbps的下载速度。

2.Android系统架构

Android的系统架构采用了分层的设计。从下面的架构图看,Android分为四层,从低层到高层分别是Linux内核层、系统运行库层、应用程序框架层和应用层。

Android  linux

Ios      unix (要钱)开源分享linus  linux

一.应用程序层

该层不仅包括系统内置的应用也包括用户自己安装的应用,比如Email客户端、SMS短消息程序、日历、地图、浏览器、联系人管理程序、QQ、微信、淘宝、美团等。改成所有的应用程序都是使用Java语言编写的。

二.应用程序框架层

Android系统中的每个应用都依赖于该框架提供的一系列服务和系统,其中包括:

l活动管理器( Activity Manager):用来管理应用程序生命周期并提供常用的导航回退功能。

l丰富而又可扩展的视图(Views):可以用来构建应用程序, 它包括列表(lists),网格(grids),文本框(textboxes),按钮(buttons),甚至可嵌入的web浏览器。

l内容提供器(Content Providers):使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据。

l资源管理器(Resource Manager):提供非代码资源的访问,如本地字符串,图形,和布局文件( layoutfiles )。

l通知管理器(Notification Manager):使得应用程序可以在状态栏中显示自定义的提示信息。

三.系统运行库层

该层主要分为Libaries程序库和AndroidRuntime库

1.程序库

Android包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过Android应用程序框架为开发者提供服务。以下是一些核心库:

lSurface Manager -对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融合。

l媒体库-该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG。

lSQLite -一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。

lOpenGL ES -该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。

lFreeType -位图(bitmap)和矢量(vector)字体显示。

lWebKit -一个最新的web浏览器引擎,支持Android浏览器和一个可嵌入的web视图(WebView)。

lSGL -底层的2D图形引擎

lSSL - SSL(Secure Sockets Layer安全套接层),在传输层对网络连接进行加密,为网络通信提供安全及数据完整性的一种安全协议,。

lLibc -一个标准C系统函数库( libc )。

2.Android Runtime库

Core Libraries -该核心库提供了Java编程语言核心库的大多数功能。

Dalvik Virtual Machine -每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。

Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。

四.Linux内核层

Android的核心系统服务依赖于Linux内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。Linux内核也同时作为硬件和软件栈之间的抽象层。

3.Android的版本迭代

Android系统从最开始的1.6版本已经发展到现在最新的6.0版本,如何查看各个版本:eclipse里面打开SDKManager。SDK Manager.exe是ADT根目录下的一个SDK管理程序,该程序负责下载、更新、删除与sdk相关的文件。

如下图操作打开SDK Manager:

注意:目前android市场上基本2.3版本以下包含2.3版本的android手机已经很少了,市场占有率很低大概2~3%,所以大部分android应用都是直接从4.0以上系统开始进行开发兼容了。

4.两种虚拟机的不同

ØJavaSE程序使用的虚拟机叫Java Virtual Machine,简称JVM,Android应用也使用Java语言开发,但是使用的虚拟机是Dalvik Virtual Machine,简称DVM。

ØDalvik是Google公司自己设计用于Android平台的Java虚拟机。它执行的是已转换为.dex(即Dalvik Executable)格式的Java应用程序的运行,.dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。

ØDalvik经过优化,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik应用作为一个独立的Linux进程执行。独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭。

Dalvik和标准Java虚拟机(JVM)首要差别

lDalvik基于寄存器,而JVM基于栈。

基于寄存器的虚拟机对于编译后变大的程序来说,在它们执行的时候,花费的时间更短。

l不同于Java虚拟机运行Java字节码,Dalvik虚拟机运行的是其专有的文件格式Dex;Dex文件格式可以减少整体文件尺寸,提高I/O操作的类查找速度;

Dalvik和Java运行环境的区别

lDalvik主要是完成对象生命周期管理,堆栈管理,线程管理,安全和异常管理,以及垃圾回收等重要功能;

lDalvik负责进程隔离和线程管理,每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例,其代码在虚拟机的解释下得以执行;

l所有的Android应用的线程都对应一个Linux线程,虚拟机因而可以更多的依赖操作系统的线程调度和管理机制;

l有一个特殊的虚拟机进程Zygote,他是虚拟机实例的孵化器。它在系统启动的时候就会产生,它会完成虚拟机的初始化,库的加载,预制类库和初始化的操作。如果系统需要一个新的虚拟机实例,它会迅速复制自身,以最快的数据提供给系统。对于一些只读的系统库,所有虚拟机实例都和Zygote共享一块内存区域;

5.ART虚拟机

ØART模式是什么?

Art第一次安装的时间 变长;了7.0基本解决的了这个问题

Art占用空间大

ART模式英文全称为:Android runtime,谷歌从Android 4.4系统开始新增的一种应用运行模式,与传统的Dalvik模式不同,ART模式可以实现更为流畅的Android系统体验。在4.4系统之前,Android系统在Linux的底层下构筑Dalvik一层的虚拟机,通过其可以更好适应多样的硬件架构,开发者只需要按一套规则进行应用便可,无需因为不同的硬件架构而处理与底层的驱动关系,从而大大提高开发的效率,但因为应用均是运行在Dalvik虚拟机中,因此应用程序每次运行的时候,一部分代码都需要重新进行编译,这过程需要消耗一定的时间和降低应用的执行效率,最明显的便是拖延了应用的启动时间和降低了运行速度。

ØART模式有什么作用?

ART模式最大的作用就是提升了Android系统流畅度,相比Dalvik模式中出现的耗电快、占用内存大、即使是旗舰机用久了也会卡顿严重等现象,ART模式中这种问题得到了很好的解决,通过在安装应用程序时,自动对程序进行代码预读取编译,让程序直接编译成机器语言,免去了Dalvik模式要时时转换代码,实现高效率、省电、占用更低的系统内存、手机运行流畅。

ØART模式的缺点

ART模式可以降低手机硬件配置要求,减少RAM内存依赖,不过在安卓4.4系统中,安装应用的时间比安卓4.4以下版本系统更长,这主要由于应用安装过程中需要先执行编码导致,并且安装应用更占存储空间(ROM)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,802评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,109评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,683评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,458评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,452评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,505评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,901评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,550评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,763评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,556评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,629评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,330评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,898评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,897评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,140评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,807评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,339评论 2 342

推荐阅读更多精彩内容