从多方面理解Android体系结构
一、以分层的方式来看Android
首先看一下官方关于Android体系结构的图:
1)Linux Kernel:负责硬件的驱动程序、网络、电源、系统安全以及内存管理等功能。
2) Libraries和Android Runtime(库文件和运行环境):
Libraries:即C/C++函数库部分,大多数都是开放源代码的函数库,例如WebKit,该函数库负责Android网页浏览器的运行,例如标准的C函数库Libc、OpenSSL、SQLite等,当然也包括支持游戏开发2D SGL和3D OpenGL | ES,在多媒体方面有MediaFramework框架来支持各种影音和图形文件的播放与显示,例如MPEG4、H.264、MP3、AAC、AMR、JPG和PNG等众多的多媒体文件格式。
Runtime:负责解释和执行生成的Dalvik格式的字节码。
3)Application Framework(应用软件架构):Java应用程序开发人员主要是使用该层封装好的API进行快速开发。
4)Applications(Android应用程序层)::Android内置的Google Maps、E-mail、即时通信工具、浏览器、MP3播放器等处于该层,Java开发人员开发的程序也处于该层,而且和内置的应用程序具有平等的位置,可以调用内置的应用程序,也可以替换内置的应用程序。
优点:上面四个层次中,下层给上层服务,上层支持下层支持,调用下层的服务,这种严格的分层机制,为Android系统带来很大的灵活性,稳定性和可扩展性。也利于不同层的开发人员专心于该层次的开发任务。
二、以MVC模式来看Android结构