标签:
标签: StudyNote
各层次的介绍:
- 应用程序层(JAVA应用程序)
包含许多由Java语言编写的应用程序,系统内置应用和我们开发的程序都在这一层。- 应用程序框架层(Java框架)
该层封装了开发应用所需要的核心API框架,或者说是类库,该层简化了组件的重用,
我们可以直接使用提供的组件来进行快速的应用开发,也可以通过继承实现个性化
的扩展。该层由10个部分组成:
- Activity Manager(活动管理器):管理各个应用程序生命周期以及常用的回退功能
- Window Manager(窗口管理器):管理所有的窗口程序
- Content Provider(内容提供器):使得不同应用程序之间存取或者分享数据
- View System(视图系统):构建应用程序的基本组件
- Notification Manager(通知管理器):使得应用程序可以在状态栏中显示自定义的提示信息
- Package Manager(包管理器):Android系统内的程序管理
- Telephony Manager(电话管理器):管理所有的移动设备功能
- Resource Manager(资源管理器):提供应用程序使用的各种非代码资源,如布局、颜色文件等
- Location Manager(位置管理器): 提供位置服务
- XMPP Service(XMPP服务): Google Talk中一个通用的进程,提供后台推送服务
系统库和android运行时层(本地框架和JAVA运行环境)
该层是应用程序框架曾的依赖层,为Android系统中的各个组件提供服务,由两个部分构成:
系统库与Android运行时,系统库包含了九个子系统:
- Surface Manager(图层管理):执行多个应用程序时候,负责管理显示与存取操作
间的互动,另外也负责2D绘图与3D绘图进行显示合成- Media Framework(多媒体库):支持多种常用的音频、视频格式录制和回放,编码
格式包括MPEG4、MP3、H.264、AAC、ARM- SQLite(数据库):小型的关系型数据库引擎
- OpenGL|ES(绘图函数库):根据OpenGL ES 1.0API标准实现的3D绘图函数库
- FreeType(字体引擎):提供点阵字与向量字的描绘与显示
- WebKit:一套网页浏览器的软件引擎
- SGL:底层的2D图形渲染引擎
- SSL:在Andorid上通信过程中实现握手
Libc(C库):从BSD继承来的标准C系统函数库,专门为基于embedded linux的设备定制
而Android运行时则由两个部分组成:
Core Libraries(核心库集):核心库提供了Java语言API中的大多数功能,同时也
包含了Android的一些核心API,如android.os、android.net、android.media等。- Dalvik虚拟机:
基于寄存器的java虚拟机,Dalvik虚拟机主要是完成对生命周期的管理、堆栈的管理、
线程的管理、安全和异常的管理以及垃圾回收等重要功能。LINUX内核层
Android基于Linux2.6内核,把linux内受GNU协议约束的部分做了取代,从而让Android
的程序可以用于商业目的;其核心系统服务如安全性、内存管理、进程管理、网路协议
以及驱动模型都依赖于Linux内核。Linux内核也是作为硬件与软件栈的抽象层。
驱动包括:显示驱动、摄像头驱动、键盘驱动、WiFi驱动、Audio驱动、flash内存
驱动、Binder(IPC)驱动、电源管理等
1.在Andrdoid 4.4前内置浏览器(WebView)都是基于Webkit的,WebKit提供了网页解析、布局
和绘制,以及JS运行等基础功能,而在4.4起则换成了Chromium,Chromiun在WebKit的基础
上还提供进程,线程和渲染等基础构架,基于Chromium的浏览器能为我们提供跟更强大的
网页浏览功能。2.关于Android中的虚拟机,从5.0开始就从Dalvik切换成了ART,从JIT(Just in time,运
行时编译)到AOT(Ahead of time,运行前编译),AOT就是仅在安装的时候编译一次,后续运
行就不用再编译了,从而降低了应用的启动时间,除了性能提升,ART对于系统的内存分配与
垃圾回收算法也有了一定的提升。
标签:
原文地址:http://blog.csdn.net/coder_pig/article/details/51350701