2016-01-04 14:41:39 663浏览
这一节主要从技术层面上介绍iOS系统。iOS包含了非常多的技术内容,例如界面管理、内存分配与叫收、事件发送、多任务处理、网络、多媒体服务等。尽管iOS的功能五花八门,但大体上可以将其分为四个层次。
在此南下至上逐层介绍。我们的目的是让您对iOS有一个宏观的了解,如果您在阅读这一部分内容时感到不知所云,请不要介意,因为这里提到的很多概念都可以在本书的后续章节中进行系统地学习。
1、Core OS层:位于ios开发环境搭建的最底层,主要包含内核、文件系统、网络基础架构、安全管理、电源管理、设备驱动、线程管理、内存管理等。简而言之,该层提供了最低级的、系统级的服务。
2、Core Services层:可称之为核心服务层,顾名思义,它提供诸如字符串管理、集合管理、网络操作、URL实用工具、联系人管理、偏好设置等服务。除此之外,它还提供很多基于硬件特性的服务,如GPS、加速仪、陀螺仪等。该层包含了Core Location、Core Motion、System、Foundation与Core Foundation子模块。其中Foundation与Core Foundation子模块提供了对公共数据类型(字符串、集合等)的抽象,Core Foundation中的Core Data子模块可以实现对象图形管理与对象持久化。
3、Media层:依赖于Core Services层提供的功能,主要负责图形与多媒体服务。它包含了CoreGraphics、Core Text、OpenGL ES、Core Animation、AVFoundation、Core Audio等与图形、视频和音频相关的功能模块。
4、Cocoa Touch层:直接向iOS应用程序提供各种基础功能的支持。其中的UIKit框架提供各种可视化控件供应用程序使用,如窗口、视图、视图控制器与各种用户控件等。另外UIKit也定义了应用程序的默认行为和事件处理结构。
位置越高的层,越抽象;位置越低的层,越具体。一般来说,我们在创建iOS应用程序时,首先考虑使用较高的层提供的服务,这样可以直接使用iOS提供的现成的类,提高开发效率和程序的健壮性,并获得一致的外观和行为。只有当高层服务不能满足某一具体需要的时候,才考虑使用较低的层。这时应该更加小心,因为一旦涉及的技术内容多了,需要顾及的细节也就相应增力口。
大多数应用程序通过使用UIKit框架中提供的各种界面类(视图、用户控件等)构建程序界面,并使用Foundation框架中定义的各种基本类型(字符串、数字、日期等)来保存程序的数据。因为这两个框架太重要了,所以它们结合在一起就称为Cocoa Touch。