阅读 62

Android知识点复习(一)-Android系统架构

架构图如下:

从上到下依次分为四层:

  • Android应用框架层(Applications)

    Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等.所有的应用程序都是使用JAVA语言编写的.通常开发人员就处在这一层.

  • Java系统框架层(Application Frameworks)

    提供应用程序开发的各种API进行快速开发,也即隐藏在每个应用后面的是一系列的服务和系统,大部分使用Java编写,所谓官方源码很多也就是看这里.

  • C++系统框架层与Android运行环境(Libraris & Android Runtime)

    1.系统框架层:Android 包含一些C/C++库,这些库能被Android系统中不同的组件使用.它们通过 Android 应用程序框架为开发者提供服务. 2.Android运行环境:该核心库提供了JAVA编程语言核心库的大多数功能。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中的"dx"工具转化成.dex格式由虚拟机执行。

  • Linux内核层(Linux Kernel) Android的核心系统服务依赖于Linux 2.6 内核,如安全性,内存管理,进程管理, 网络协议栈和驱动模型。 Linux 内核也同时作为硬件和软件栈之间的抽象层。其外还对其做了部分修改,主要涉及两部分修改:

    1.Binder (IPC):提供有效的进程间通信,虽然linux内核本身已经提供了这些功能,但Android系统很多服务都需要用到该功能,为了某种原因其实现了自己的一套。

    2.电源管理:主要是为了省电,毕竟是手持设备嘛,低耗电才是我们的追求。

文章分类
Android