Java之路 Java Android 【第一篇】安卓基础

Android历史与发展

* android大事件
- 2005年Google收购了android公司
- 2007年 开放手机联盟成立,13家大公司联盟,SDK1.0预览版发布
- 2008年底,第一款android手机 g1 推出 ,Android 通过Apache License开源

* android版本进化
- 1.x 版本 : 入门级版本,只针对手机
- 2.x 版本 :趋于成熟版本 ,只针对手机
- 3.x 版本 :趋于成熟版本,针对平板
- 4.x版本 : 趋于成熟版本,但是对手机和平板进行整合,想解决版本碎片化的问题,对安全加强
- 5.x版本 : 趋于成熟版本, 重点在平台的整合(手机、平板、电视、穿戴设备、潜入设备),支持64为cpu,默认在art虚拟机中运行 ,版本碎片化 ,原生版本(小米、华为、联想、htc)


* Android应用场景 :手机、平板、潜入式等

Android体系结构

 

1.Linux内核层
Android是基于Linux内核的操作系统,在Linux内核层,主要实现安全管理、进程管理、内存管理、电源管理、硬件驱动管理

2.硬件抽象层
硬件抽象层是对Linux 硬件驱动程序的封装,向上提供接口,屏蔽低层的实现细节。硬件抽象层不开源,可保护硬件厂商的商业秘密,但是会影响系统的性能。
Android对硬件的支持分成了两层,一层放在用户空间(User Space),一层放在内核空间(Kernel Space),硬件抽象层运行在 用户空间, Linux 内核驱动程序运行在内核空间,内核驱动层只提供简单的访问 硬件逻辑,具体的实现细节,都放在硬件抽象层中 ,从而维护了硬件厂商的商业利益。

3.原生库与Android运行时
Android的原生库主要基于C\C++实现的一些原生组件,包括C库Bionic、浏览器引擎Webkit、多媒体引擎OpenCORE、SQL数据库SQLite、3D渲染引擎OpenGL ES、位图和字体矢量渲染引擎FreeType、2D图像渲染引擎SGL(Skia Graphics Library)、互联网安全协议SSL等。
Android运行时主要包括Java核心库、Dalvik虚拟机,两者一起构成了Android的应用环境基础

4.应用框架层  应用框架层是Google发布的核心应用所使用的API框架,开发人员可以使用这些框架提供的API来快速开发自己的应用程序,它本身也是用Java语言实现和开发的。
Activity Manager(活动管理)、Window Manager(窗口管理)、View Manager(视图管理)、Notification Manager(通知管理)、Content Provider(内容提供者)、Package Manager(包管理)、Resource Manager(资源管理)、Location Manager(位置管理)
   
5.应用层
应用层是基于Android平台开发的应用,采用Java作为开发语言,包括系统自带的应用(短信管理、联系人管理、图库浏览、网页浏览等)和第三方开发的应用

JVM\DVM\ART 虚拟机

jvm与dvm

相同点: 都是在虚拟机运行,运行的都是字节码
不同点:
* 程序结构不同,jvm运行的是class字节码 ,而 dvm运行的是dex字节码
* 系统架构不同: jvm基于内存的 ,基于堆栈 ,而dvm基于的是寄存器,即基于cpu

dvm和art虚拟机

ART模式是Android runtime的简称,在Android4.4版本后出现,
通过在安装应用程序时,自动对程序进行代码预读取编译,让程序直接编译成机器语言,
并且把它保存起来,免去了Dalvik模式要时时转换代码,
实现高效率、省电、手机运行流畅。ART是虚拟机,只是在安装apk时,提前编译而已。

 

posted @ 2019-10-26 12:28  沐风先生  阅读(248)  评论(0编辑  收藏  举报