您的位置:首页 > 移动开发 > Android开发

Android体系结构介绍

2013-08-28 11:48 246 查看
在下决心以前,犹豫也许是必要的。然而,一旦下了决心,就应该一直往前走。——石川达三

Android体系结构:

                   

     

对于上面的这幅图相信学过android的童鞋都不陌生,对的,它就是android的体系结构图:

可以看出从上到下可以分为四层:

       ①、应用程序

              和用户进行交互的一个层次。

               包括一些用户可看的见可操作的一些程序。

               程序基本上是通过java语言编写可以独立完成某些功能的应用程序。

               开
4000
发人员可以利用应用框架提供的api编写自己的应用程序。


       ②、应用程序框架

              1. 一组View(UI 组件),这些UI组件包括Button(按钮),EidtView(文本框),TextView(标签),List(列表)等等,灵活运用这些组件可以快速方便的创建良好的用户交互界面。 

               2. Content Providers(内容提供者),听起来有点抽象,通俗的理解Content Provider 就是提供一种服务,通过这种服务应用程序之间可以实现数据的互相 访问和共享,比如通讯录的存储就使用了这种服务,其它应用也可以访问通讯录中存储的联系人信息。 

               3. Resource Manager 顾名思义就是资源管理,android中的资源很多包括图片,用户界面(Layout xml),字体,颜色,UI组件的Id等等都可以称之为资源,这些丰富的资源,都是通过Resource Manager来统一进行管理。 

               4. Notification Manager(消息通知管理),它在不影响用户正常操作和使用设备的时候在状态栏上提供消息的提示。比如有短信来的时候,android自动会将这个消息提示在状态栏上,用户可以及时的看到。 

               5. Activity Manager(活动管理),Activity管理着应用程序的生命周期,并且控制着应用的导航,扮演控制器的角色。每个Activity类似于Windows应用中的一个wendow。一般的应用都是通过一个个Activity交互构成的。 

               6. Window Manager(窗口管理),管理所有启动的窗口。 

               7. Location Manager(位置管理),用来管理地图服务的相关功能。

               8. Telephoney Manager(电话管理),用来管理有关的电话的相关功能。 

               9. Package Manager(包管理),管理所有的安装在android系统内的应用程序。

       ③、各种库和Android运行时环境

               这部分内容开始涉及底层,开发普通的应用不会直接对这个层进行操作。这层中包含了一组类库(Libraries)和运行时(RunTime)。

               1. 系统C库(libc),一个从BSD集成来的标准C系统函数库(libc)它是专门为基于嵌入式Linux的设备定制的。 

               2. 媒体库(Media Framework),基于PackeVideo OpenCore,该库支持多种常用的音频,视频格式以及回放和录制,同时支持静态图像文件。编码格式包括:MPEG4、H.264,MP3、AAC、AMR、JPG、PNG。 

               3. Surface Manager 对显示子系统的管理,并且为多个应用提供2D,3D图层的无缝融合。 

               4. WebKit,一个最新的web浏览器引擎,用来支持Andiroid浏览器或者嵌入的web视图。 

               5. SGL 底层的2D图形引擎。 

               6. OPENGL|ES,基于OpenGL ES 1.0 APIs实现,该库可以使用硬件3D加速或者使用高度优化的3D软加速。 

               7. FreeType,位图(bitmap)和适量(vector)字图显示支持。 

               8. SQLite,一个对所有应用程序可用,功能强大的轻量级关系型数据库引擎。 

               9. Core Libraries 该核心库提供了Java编程语言核心库的大多数功能。 

               10. Dalvik VM, android平台的一个虚拟机,它相当于PC中Java的虚拟机JVM。

       ④、操作系统层(<
abd2
/span>linux内核)


               Android 的核心系统服务依赖于Linux 2.6 内核,操作系统为Android提供的服务包括:

                    1. 安全性(Security)。 

                    2. 内存管理(Memory Management) 

                    3. 进程管理(Process Management) 

                    4. 网络堆栈(Network Stack) 

                    5. 驱动程序模型(Driver Model)包含以下这些常规的驱动程序: 

                             (1)Display Driver 

                             (2)Keypad Driver 

                             (3)Camera Driver 

                             (4)WiFi Driver 

                             (5)Flash Memory Driver 

                             (6)Audio Driver 

                             (7)Binder(IPC) Driver 

                             (8)Power Management 

[b]              对android的整体框架有一定的了解后对与理解android的一些机制和应用开发有很大的帮助,只有了解了android框架才能更好的使用android提供的功能和服务。从而使学习android应用开发少走许多的弯路。[/b]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android体系结构