Android系统架构
来源:互联网 发布:java中的集合 编辑:程序博客网 时间:2024/05/01 19:25
作者:郭孝星
微博:郭孝星的新浪微博
邮箱:allenwells@163.com
博客:http://blog.csdn.net/allenwells
Github:https://github.com/AllenWells
Android系统的整体结构如下图所示:
一 Linux内核层
Android核心驱动模块
二 硬件抽象层
设备驱动分为内核空间和用户空间。
- 内核空间:负责硬件访问逻辑(GPL)
- 用户空间:负责参数和访问流程控制(Apache LIcense)
用户空间设备驱动即为硬件抽象层,如下所示:
三 系统运行库层
3.1 系统类库
Android NDK(Native Development Kit)即Android原生库,Android原生库为C/C++语言提供了编程接口。使用原生库无法访问应用层框架API,兼容性可能无法保障,Android原生库采用非类型安全的程序语言C、C++编写,更容易产生安全漏洞,原生库的bug也可能直接影响应用程序的安全性。
3.2 运行时
3.2.1 核心库
核心库提供了Java SE的多数功能,并提供Android的核心API。
3.2.2 Dalvik虚拟机
Dalvik虚拟机是基于Apache的Java虚拟机,并被改进以适应低内存,低处理器的移动设备环境,Dalvik虚拟机依赖于Linux内核,实现进程隔离和线程调度管理、安全和异常管理,垃圾回收等功能。
Dalvik虚拟机和Java虚拟机的区别
- Dalvik基于寄存器,Java虚拟机基于栈.
- Dalvik经过优化,允许在有限的内存空间同时高效地运行多个虚拟机实例。每一个Dalvik作为一个独立的Linux进程运行,都拥有一个独立的Dalvik虚拟机实例。
四 应用程序框架层
0 0
- android系统架构[转]
- android 系统架构图
- 【转】Android系统架构
- Android系统架构
- Android系统架构
- Android系统架构
- Android系统架构分析
- Android的系统架构
- Android的系统架构
- Android系统架构
- Android系统架构
- Android 系统架构
- android系统架构学习
- Android系统架构
- 一、Android系统架构
- android 系统架构介绍
- Android系统架构
- 转Android系统架构
- 程序员大学生涯指南
- HDOJ3065病毒侵袭持续中【AC自动机】
- 积跬步,聚小流------Bootstrap学习记录(4)
- Android异步加载学习笔记之二:实现ListView中的图片数据从网络加载
- c# workwith .ini file
- Android系统架构
- (转)武大遥感院实践队文章
- 为什么调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment?
- 1020. 月饼 (25)
- Swift学习笔记系列——(19)嵌套类型
- java volatile
- LeetCode - Read N Characters Given Read4 II - Call multiple times
- (visual)c++ 内存分配
- backbonejs快速入门(六)-模型model