Android 现状

Android系统是由Andy Rubin创建的,后来被Google收购了

Android系统的命名都是以点心来命名的 具体可查 版本一览表

Android的"碎片化"问题 1. 系统碎片化: 1. 系统版本较多, 要求开发时做到向后兼容 2. 各种Rom定制的盛行,国内使用原生系统较少,导致差异较大 2. 屏幕碎片化: 1. 屏幕尺寸大小各异(平板),开发时要处理屏幕适配的问题

系统特性与平台架构

系统特性: 1. 应用程序框架支持组件的重用与替换(app发布时遵守了框架的约定,其他app也可以使用该模块) 2. Dalvik虚拟机:专门为移动设备优化,集成的浏览器:开源的WebKit引擎 3. SQLite结构化的数据存储 4. 优化的图形库,多媒体支持,GSM电话技术,蓝牙等 5. 采用软件叠层方式构建

平台架构的简单理解: 1. Application(应用程序层) 一般说的应用层的开发就是在这个层次上进行的,包括了系统内置的一些应用程序,使用的是Java语言 2. Application Framework(应用程序框架层) 无论系统内置或者个人编写的App,都基于这层,相当于系统内置库

    如想弄来电黑名单,自动挂断电话,就需要用到电话管理(`TelephonyManager`) 通过该层可以很轻松的实现挂断操作,而不需要关心底层实现
3. `Libraries` (库) + `Android Runtime`(Android运行时)
    `Android`给提供了一组`C/C++`库,为平台的不同组件所使用
    如媒体框架

    `Android Runtime`则由`Android`核心库集 + `Dalvik虚拟机` 构成
    `Dalvik`虚拟机是针对移动设备的虚拟机
        特点:不需要很快的`CPU`计算速度和大量的内存空间;
    而每个`App`都单独地运行在单独的`Dalvik`虚拟机内
    每个`app`对应一条`Dalvik`进程
    运行流程: 
    将所有 程序`class`文件打包-编译成 `.dex` 文件,`Davik` 运行 `.dex`文件

4. `Linux`内核 
    底层驱动,与硬件交互
    放置一些系统服务,如 安全管理,内存管理以及进程管理等