目录:
1、Android系统架构
2、Android类库
3、四大组件
-----------------------------------------------------------------------
1、Android系统架构
从架构图看出架构分为五个部分,由下往上依次为:
- Linux Kernel:Android基于Linux提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。Linux Kernel也作为硬件和软件之间的抽象层,它隐藏具体g硬件细节而为上层提供统一的服务。
- Android Runtime:Android包含一个核心库的集合,提供大部分在Java编程语言核心类库中可用的功能。 每个Android应用程序是Dalvik虚拟机中的实例。 java程序的运行需要java的核心包的支持,然后通过JVM虚拟机来运行我们的应用程序,Android Runtime里的Core Libraries就相当于java的JDK,是运行android应用程序所需要的核心库,Dalvik Virtual Machine就相当于JVM,这是Google专为Android开发的运行android应用程序所需的虚拟机。 Dalvik的可文件格式是.dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。Dalvik依赖于Linux Kernel提供基础功能,如线程和底层内存管理。
- Liberaries:Android包含一个C/C++库的集合,供系统的各个组件使用。这些功能能通过Android的应用程序框架(application framework)暴露给开发者。下面列出一些核心库:
- 系统C库:标准C系统库(libc)的BSD衍生,调整为基于嵌入式Linuxhe设备。
-
- 媒体库:基于PackerVideo的OpenCORE。这些库支持播放、录制许多音频和视频h格式,以及静态文件。
- 界面管理:管理访问显示子系统和无缝组合多个应用程序的2D和3D图形层。
- LibWebCore:(WebKit是一个开源的浏览器网页排版引擎,包含WebCore排版引擎和JSCore引擎)Web浏览器引擎,驱动Android浏览器和内嵌的web视图。
- SGL:基本2D图形引擎。
- 3D库:基于OpenGL ES APIS的实现。库使用硬件3D加速或包含高度优化的3D软光栅。
- FreeType:位图和矢量字体渲染。
- SQLite:关系型数据库引擎。 &