什么是Android

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

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

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

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

一个完整的操作系统

中间件

关键的应用程序

2、底层是linux内核

安全管理

内存管理

进程管理

电源管理

硬件驱动

Android系统架构体系结构

DalvikVM和JVM区别

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

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

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

jvm执行的是.class文件。

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

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

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

ART模式是AndroidRuntime的简称。

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

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

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

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

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

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

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

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

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

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

应用层

应用框架层

函数库

Linux内核

AndroidSDKManager的结构介绍

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

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

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

Android开发工具包介绍:

Eclipse+ADT插件

AndroidSDK

AndroidPlatform-tools

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

Android虚拟机介绍





更多相关文章

  1. Android扫盲篇
  2. Android开发之旅:活动与任务
  3. android 进程之间通信--Android(安卓)使用【AIDL】调用外部服务
  4. android系统体系结构
  5. Android(安卓)开发者必备的十个工具
  6. Android开发人员的10大抱怨
  7. Android系统体系结构
  8. Android中的横竖屏、资源、国际化的使用
  9. android新手入门FAQ

随机推荐

  1. Android之Handler用法总结
  2. Android(安卓)中Popwindow弹出菜单的两种
  3. [置顶] 我的Android进阶之旅------>Andro
  4. android 使用Intent传递数据之静态变量
  5. AndroidManifest.xml学习
  6. Android中图像和图像处理
  7. Android(安卓)写一个属于自己的Rxjava(二)
  8. Android最佳实践之高效的应用导航
  9. android 值得学习的网站
  10. android切换屏幕时的生命周期