Android基础介绍

什么是Android

   AndroidGoogle2007115日推出的开源手机操作系统。目前Android在中国的发展是非常火的,为了节省研发费用,国内很多的手机厂商和移动运营商纷纷加入到了android阵营,其中包括中国移动,中国联通,中国电信,华为,联想等大企业。在中国不管是知名的手机生产厂商还是山寨手机厂商,都已经开始生产Android操作系统的手机。

   另外android应用的范围不仅仅在手机,还被应用在汽车、平板电脑、和智能上网设备上,听说国外已经有了安装有Android系统,并且能够上网的智能电饭煲,用户在千里之外就可以操作电饭煲进行煮饭。

   由于大家大多使用的手机都属傻瓜手机,也就是打打电话、发发短信。从今天开始,大家就应该改变这个观念了,你们需要把智能手机看作是一台电脑,它能完成电脑所能完成的一切。所以你可以像在电脑一样,在智能手机上安装软件,以满足你工作和生活的需要。

1、手机设备的软件栈,包括

一个完整的操作系统

中间件

关键的应用程序

2、底层是linux内核

安全管理

内存管理

进程管理

电源管理

硬件驱动

Android系统架构体系结构

Dalvik VM和 JVM区别 

dvm 执行的是.dex 格式文件 jvm 执行的是.class 文件 android 程序编译完之

后生产.class 文件, 然后, dex 工具会把.class 文件处理成.dex 文件, 然后把资源文件和.dex

文件等打包成.apk 文件。apk 就是 android package 的意思。 

jvm 执行的是.class 文件。

dvm 是基于寄存器的虚拟机 而 jvm 执行是基于虚拟栈的虚拟机。

寄存器存取速度比栈快的多,dvm 可以根据硬件实现最大的优化,比较适合移动设备。

class 文件存在很多的冗余信息,dex 工具会去除冗余信息,并把所有的.class 文件整合到.dex 文件中。减少了 I/O 操作,提高了类的查找速度

ART 模式是 Android Runtime 的简称。

ART 模式通过在安装应用程序时,自动对程序进行代码预读取编译,让程序直接编译成机器语言

dalvik vm优点:在编译时优化代码,而不是运行时,将多个文件整合成一个,整体减少文件个数I/O操作,提高类的查询速度,常量池的引入,执行效率要高一些,读取操作需要更多的load/store指令(指令分配次数和内存访问次数)。二/三级地址占内存更多,但操作更少,访问内存执行速度是一个瓶颈。

Dalvik:应用每次运行的时候,字节码都需要通过即时编译器转换成机器码,会拖慢应用程序的运行效率

ART: 应用程序在第一次安装时,字节码就会编译成机器码,使其成为真正的本地应用,应用程序的启动和执行速度会显著提升,但是第一次安装应用的时候会比较慢。

 

进入开发者模式,选择运行环境切换,可以切换至ART。切换完成后,系统会重新启动,改变运行环境。

 

ART模式下应用程序占用的空间比Dalvik模式下占用的空间更多一些。

原因在于ART需要保存预先编译好的字节码和机器码。

牺牲存储空间,保证执行效率。用空间换时间。

 

一个完整的Android系统包含了中间件和包含了一些关键的应用程序。

Android 有四层架构,自顶向下依次为:

应用层

应用框架层

函数库

Linux 内核

 

Android SDK Manager的结构介绍

里面的Hardware_Accelerated_Execution_Manager中的IntelHaxm.exe只能用于高版本的intelcpu,用于加速模拟器的启动速度

 

Java对于任何一个平台,都不是本地语言,所以Java程序执行时,会比较慢一些。

 

大型游戏都是用平台本地语言或者CC++来编写的。

 

Android 开发工具包介绍:

Eclipse +ADT插件

Android SDK

Android Platform-tools

Android的开发平台以及模拟器镜像

Android虚拟机介绍





你可能感兴趣的:(jvm,android,架构,dalvik,AVM)