#Android架构:

1. Linux 内核层

Android 系统是基于Linux 2.6 内核的,这一层为Android 设备的各种硬件提供了底

层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi 驱动、电源管理等。

2. 系统运行库层

这一层通过一些C/C++库来为Android 系统提供了主要的特性支持。如SQLite 库提

供了数据库的支持,OpenGL|ES 库提供了3D 绘图的支持,Webkit 库提供了浏览器内核

的支持等。

同样在这一层还有Android 运行时库,它主要提供了一些核心库,能够允许开发者

使用Java 语言来编写Android 应用。另外Android 运行时库中还包含了Dalvik 虚拟机,

它使得每一个Android 应用都能运行在独立的进程当中,并且拥有一个自己的Dalvik 虚

拟机实例。相较于Java 虚拟机,Dalvik 是专门为移动设备定制的,它针对手机内存、

CPU 性能有限等情况做了优化处理。

3. 应用框架层

这一层主要提供了构建应用程序时可能用到的各种API,Android 自带的一些核心

应用就是使用这些API完成的,开发者也可以通过使用这些API来构建自己的应用程序。

4. 应用层

所有安装在手机上的应用程序都是属于这一层的,比如系统自带的联系人、短信等

程序,或者是你从Google Play 上下载的小游戏,当然还包括你自己开发的程序。

#Android版本对应API

Code name
Version
API level

Lollipop
5.1
API level 22

Lollipop
5.0
API level 21

KitKat
4.4 - 4.4.4
API level 19

Jelly Bean
4.3.x
API level 18

Jelly Bean
4.2.x
API level 17

Jelly Bean
4.1.x
API level 16

Ice Cream Sandwich
4.0.3 - 4.0.4
API level 15, NDK 8

Ice Cream Sandwich
4.0.1 - 4.0.2
API level 14, NDK 7

Honeycomb
3.2.x
API level 13

Honeycomb
3.1
API level 12, NDK 6

Honeycomb
3.0
API level 11

Gingerbread
2.3.3 - 2.3.7
API level 10

Gingerbread
2.3 - 2.3.2
API level 9, NDK 5

Froyo
2.2.x
API level 8, NDK 4

Eclair
2.1
API level 7, NDK 3

Eclair
2.0.1
API level 6

Eclair
2.0
API level 5

Donut
1.6
API level 4, NDK 2

Cupcake
1.5
API level 3, NDK 1

(no code name)
1.1
API level 2

(no code name)
1.0
API level 1

Android复习笔记--架构与版本的更多相关文章

  1. Android复习笔记--Intent

    Intent是Android中各组件跳转的重要方式,一般可悲用于启动活动.启动服务.以及发送广播等场景. #显示Intent 主要主要用于启动已知的组件 //发送方  Intent intent = ...

  2. Android复习笔记--Activity

    #Activity注册 Android四大组件(Activity,Service,Broadcast Receiver, Content Provider)都需要在AndroidManifest中注册 ...

  3. Android开发笔记——以Volley图片加载、缓存、请求及展示为例理解Volley架构设计

    Volley是由Google开源的.用于Android平台上的网络通信库.Volley通过优化Android的网络请求流程,形成了以Request-RequestQueue-Response为主线的网 ...

  4. Android群英传笔记——第三章:Android控件架构与自定义控件讲解

    Android群英传笔记--第三章:Android控件架构与自定义控件讲解 真的很久没有更新博客了,三四天了吧,搬家干嘛的,心累,事件又很紧,抽时间把第三章大致的看完了,当然,我还是有一点View的基 ...

  5. Android学习笔记36:使用SQLite方式存储数据

    在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...

  6. 《ArcGIS Runtime SDK for Android开发笔记》

    开发笔记之基础教程 ArcGIS Runtime SDK for Android 各版本下载地址 <ArcGIS Runtime SDK for Android开发笔记>——(1).And ...

  7. 【转】 Pro Android学习笔记(五七):Preferences(1):ListPreference

    目录(?)[-] 例子1ListPreference小例子 定义一个preferences XML文件 继承PreferenceActivity 用户定制偏好的读取 第一次运行时设置缺省值 设置Cat ...

  8. 【转】Pro Android学习笔记(二):开发环境:基础概念、连接真实设备、生命周期

    在Android学习笔记(二):安装环境中已经有相应的内容.看看何为新.这是在source网站上的Android架构图,和标准图没有区别,只是这张图颜色好看多了,录之.本笔记主要讲述Android开发 ...

  9. Angular复习笔记6-依赖注入

    Angular复习笔记6-依赖注入 依赖注入(DependencyInjection)是Angular实现重要功能的一种设计模式.一个大型应用的开发通常会涉及很多组件和服务,这些组件和服务之间有着错综 ...

随机推荐

  1. NoSql之旅--Cassandra的Cql简介(二)

    安装完Cassandra后我们就开始体验一下这个数据库的查询吧,传统的关系数据库使用的sql进行查询,而Cassandra使用的cql. cql语法还是很多的,这里不一一详细阐述了,也没这个必要,具体 ...

  2. AI (Adobe Illustrator)详细用法(五)

    最后的调整和输出. 一.改变形状工具/宽度工具/包裹工具 1.改变形状工具[整形工具] 改变形状工具可以让我们更细致的控制形状的改变. 用钢笔工具画一条曲线,并设置宽度样式等. 如果想让这条曲线形状变 ...

  3. Java实现点击一个控件实现删除一个控件的方法

    最近在做项目的时候需要处理点击一个JLabel实现删除这一个JLabel的功能.最近折磨了一点时间,查了一下API.找到2个方法可以实现这个功能. remove public void remove( ...

  4. python pip install mysql-connector-python

    sudo pip install mysql-connector-python 报错信息:Collecting mysql-connector-python Could not find a vers ...

  5. js关闭当前页面(窗口)的几种方式总结(转)

    js关闭当前页面(窗口)的几种方式总结     1. 不带任何提示关闭窗口的js代码 代码如下 <a href="javascript:window.opener=null;windo ...

  6. 5.Transact-SQL编程

    转载于:http://www.cnblogs.com/hoojo/archive/2011/07/19/2110862.html Transact-SQL中的存储过程,非常类似于Java语言中的方法, ...

  7. sql将同一个表中的两列Int数据相加,有些数据是空的

    不能这样加! 有些数据为null吧,null+任何值=null 如这句话就不行 update HY_MYGGCYSWCQKB set HY_MYGGCYSWCQKB.Sj_By_Sr=HY_MYGGC ...

  8. .NET Framework 中的所有类型

    .NET Framework 中的所有类型不是值类型就是引用类型. 值类型是使用对象实际值来表示对象的数据类型. 如果向一个变量分配值类型的实例,则该变量将被赋以该值的全新副本. 引用类型是使用对对象 ...

  9. Java daemon thread 守护线程

    守护线程与普通线程写法上基本么啥区别,在启动线程前, 调用线程对象的方法setDaemon(true),则可以将其设置为守护线程. 守护线程使用的情况较少,但并非无用,举例来说,JVM的垃圾回收.内存 ...

  10. Ant 命令行编译Android项目

    首先把android sdk下的tools目录加到系统path环境变量里, 要么就得直接指定android.bat的绝对路径 对于一个新项目, 可以用这个命令创建需要的ant编译环境(可以看到andr ...