官网给了我们一个Android整体架构图,从上到下依次是 应用程序层(Application)、应用程序框架层(Application Framework)、系统运行库层(Libraries&Android RunTime)、Linux内核层(Linxu Kernel)

Android系统架构——各层功能简介_第1张图片

整理一下各层的功能:

应用程序层:

平常大家所使用的Android应用程序都是在这一层上的。在这个层面开发的应用程序都是Java语言编写,调用 Application Framwork 提供的API来完成。

应用程序框架层:

这层为开发人员提供了可以完全访问核心应用程序所使用的API框架

系统运行库层——Libraries

程序库中是一些由C/C++编写的库组成,这些库能够被Android系统中的不同组件使用,他们通过应用程序框架为开发者提供服务

系统运行库层——Android Runtime

Android Runtime 分为 Core Libraries 和 Dalvik虚拟机。Core Libraries 提供了Java语言核心库的大部分功能,这里主要通过JNI(Java Nation Interface)的方式向应用程序框架层提供调用底层程序库(Libraries)的接口

Dalvik虚拟机是为了能够同时高效地运行多个VMs而实现的。每个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例

Linux内核层:

Android依赖于Linux2.6版内核提供的核心系统服务。内核作为一个抽象层,位于软件栈层和硬件层之间,Android对内核进行了增强。

更多相关文章

  1. GitHub 优秀的 Android 开源项目和框架
  2. 开源项目之Android DataFramework(数据库框架)
  3. Android Jetpack框架之LiveData与ViewModel分析与使用
  4. Android中获取应用程序(包)的信息-----PackageManager的使用
  5. 开发 Android 应用程序 常见问题 FAQ
  6. 安卓学习日记(一):了解安卓架构(linux内核层、系统运行库层、应用框
  7. Android开发指南!带你全面解析Android框架体系架构view篇,已拿offe
  8. 打造android ORM框架opendroid(七)——数据库升级方案

随机推荐

  1. 具有多个调用的常规查询与使用PHP处理的
  2. 是否有人将数据库数据存储在PHP $ _SESSI
  3. mysql分组后取各组前五条
  4. MYSQL社区版安装手册
  5. 有没有办法确定是由Web应用程序(php进程)执
  6. mysql客户端工具使用
  7. PHP Array - 保存到MySQL时的奇数数据
  8. mysql 触发器 自动补全字段
  9. MySql-cluster中NDBD进程占用内存能否通
  10. JAVA使用JDBC连接MySQL数据库