1、Android简介
Android本意指机器人,Google公司将其标识设计为绿色机器人,表示Android系统符合环保概念,是一个轻薄短小,功能强大的移动系统,是第一个真正为手机打造的开放性系统。
Android是一种基于Linux的开源的操作系统,主要使用于移动智能设备,如:智能手机、平板电脑和智能电视等。Android操作系统最初由Andy Rubin开发,主要支持手机,目前Android系统由Google公司和84家硬件制造商,软件开发商及电信运营商组建的开放手机联盟领导及开发。
Android 操作系统最初是由安迪.罗宾开发的,2005年被Google 收购,并与2007年11月5日正式向外界展示了这款系统
Android 和IOS的比较 一个是应用于Android 手机一个是应用于iPhone手机开发语言不同。一个是O-C,一个是Java
Dalvik是Google 公司自己设计用于Android 平台的虚拟机,他可以简单完成进程隔离和线程管理,并且可以提高内存的使用效率
JVM的文件格式有.java-.class.jar基于栈架构
Dalvik VM文件格式有.java-.class-.dex-.odex 基于寄存器架构
DVM与JVM的区别:
1、Dalvik基于寄存器而JVM基于栈
基于寄存器编译和运行都会快一下
2、Dalvik执行.dex格式的字符吗,是对.class文件进行压缩后产生的,文件变小
JVM执行.class格式的字符码
3、Dalvik经过优化,允许内存中同时运行多个Dalvik的实例,一个应用启动都运行一个单独的虚拟机,运行在一个单独的进程中
4.运行环境:
Android 是运行于Linux kernel之上,但并不是GNU/Linux。因为在一般GNU/Linux 里支持的功能,Android 大都没有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以Bionic 取代Glibc、以Skia 取代Cairo、再以opencore取代FFmpeg等等。Android 为了达到商业应用,必须移除被GNU GPL授权证所约束的部份,例如Android将驱动程序移到 Userspace,使得Linux driver 与 Linux kernel彻底分开。Bionic/Libc/Kernel/ 并非标准的Kernel header files。Android 的 Kernel header 是利用工具由 Linux Kernel header 所产生的,这样做是为了保留常数、数据结构与宏。
Android 的 Linux kernel控制包括安全(Security),存储器管理(Memory Management),程序管理(Process Management),网络堆栈(Network Stack),驱动程序模型(Driver Model)等。下载Android源码之前,先要安装其构建工具 Repo来初始化源码。Repo 是 Android 用来辅助Git工作的一个工具。