2016-01-04 14:41:39 1614瀏覽
這一節(jié)主要從技術層面上介紹iOS系統。iOS包含了非常多的技術內容,例如界面管理、內存分配與叫收、事件發(fā)送、多任務處理、網絡、多媒體服務等。盡管iOS的功能五花八門,但大體上可以將其分為四個層次。
在此南下至上逐層介紹。我們的目的是讓您對iOS有一個宏觀的了解,如果您在閱讀這一部分內容時感到不知所云,請不要介意,因為這里提到的很多概念都可以在本書的后續(xù)章節(jié)中進行系統地學習。
1、Core OS層:位于ios開發(fā)環(huán)境搭建的最底層,主要包含內核、文件系統、網絡基礎架構、安全管理、電源管理、設備驅動、線程管理、內存管理等。簡而言之,該層提供了最低級的、系統級的服務。
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也定義了應用程序的默認行為和事件處理結構。
位置越高的層,越抽象;位置越低的層,越具體。一般來說,我們在創(chuàng)建iOS應用程序時,首先考慮使用較高的層提供的服務,這樣可以直接使用iOS提供的現成的類,提高開發(fā)效率和程序的健壯性,并獲得一致的外觀和行為。只有當高層服務不能滿足某一具體需要的時候,才考慮使用較低的層。這時應該更加小心,因為一旦涉及的技術內容多了,需要顧及的細節(jié)也就相應增力口。
大多數應用程序通過使用UIKit框架中提供的各種界面類(視圖、用戶控件等)構建程序界面,并使用Foundation框架中定義的各種基本類型(字符串、數字、日期等)來保存程序的數據。因為這兩個框架太重要了,所以它們結合在一起就稱為Cocoa Touch。