標籤:
1.架構概述
iOS的系統架構分為四個層次:核心作業系統層(Core OS layer)、核心服務層(Core Services layer)、媒體層(Media layer)和可觸摸層(Cocoa Touch layer)。下面是IOS系統結構圖。
- Core OS是位於iOS系統架構最下面的一層是核心作業系統層,它包括記憶體管理、檔案系統、電源管理以及一些其他的作業系統任務。它可以直接和硬體裝置進行互動。作為app開發人員不需要與這一層打交道。
- Core Services是核心服務層,可以通過它來訪問iOS的一些服務。
- Media是媒體層,通過它我們可以在應用程式中使用各種媒體檔案,進行音頻與視頻的錄製,圖形的繪製,以及製作基礎的動畫效果。
- Cocoa Touch是可觸摸層,這一層為我們的應用程式開發提供了各種有用的架構,並且大部分與使用者介面有關,本質上來說它負責使用者在iOS裝置上的觸摸互動操作。
2.CocoaTouch層
CocoaTouch提供了基本的系統行為支援,而且將你的工作量降到最低,當你想要實現更為複雜的行為和介面時,才考慮向下層探尋支援人員。
- UIKit架構:UIKit提供了一些程式運行所必須的關鍵對象,使得App能夠捕獲使用者輸入和螢幕上顯示內容。
UIKit架構類組織架構圖:
在圖中可以看出,responder 類是圖中最大分支的根類,UIResponder為處理響應事件和響應鏈 定義了介面和預設行為。當使用者用手指滾動列表或者在虛擬鍵盤上輸入時,UIKit就產生時間傳送給UIResponder響應鏈,直到鏈中有對象處理這個事件。相應的核心對象,比如:UIApplication ,UIWindow,UIView都直接或間接的從UIResponder繼承。
- MapKit架構:iOS3.0引入該架構,該架構提供一個可被嵌入到應用程式的地圖介面,該介面包含一個可以滾動的地圖視圖。
- Address Book UI架構:iOS3.0引入該架構,可以利用該架構撰寫電子郵件,並將其放到使用者的寄件匣隊列等候發送
- Message UI架構:顯示建立或者編輯連絡人的標準系統介面
3.Media層
包含圖形、音頻、視頻等技術
Quartz Core架構:包含Core Animation介面。Core Animation是進階動畫製作和混合技術,它使用經過最佳化的渲染路徑實現複雜的動畫和視覺效果。
Media Player架構:應用程式播放視頻和音頻內容。
AV Foundation架構:該架構套件含的Objective-C類可用於播放音頻內容。
Core Graphics架構:包含Quartz 2D繪圖API介面。
4.Core Service層
Foundation類組織架構圖註:圖中灰色的是iOS不支援的
將Foundation架構中的類進行邏輯分類如下:
- 值對象
- 集合
- 作業系統服務 包括下面三個:檔案系統和URL 進程間通訊。 這個範疇中的大部分類代表不同的系統連接埠、通訊端、和名字伺服器,對實現底層的IPC很有用。NSPipe代表一個BSD管道,即一種進程間的單向通訊通道。 線程和子任務。 NSThread類使您可以建立多線程的程式,而各種鎖(lock)類則為彼此競爭的線程在訪問進程資源時提供各種控制機制。通過NSTask,您的程式可以分出 一個子進程來執行其它工作或進行進度監控。
- 通知
- 歸檔和序列化
- 運算式和條件判斷
- Objective-C語言服務
參考:
http://blog.csdn.net/yuhuangc/article/details/7575519
http://blog.csdn.net/totogo2010/article/details/8081253
【IOS學習】1.IOS架構