iOS 系統層級

來源:互聯網
上載者:User

標籤:基礎   運行   邏輯   簡單   全屏   set   線程   封裝   undo   

前言
  • iOS 是一個基於 UNIX 的作業系統,並且它大量借鑒了 macOS 的核心部分,iOS 針對行動裝置對電池等硬體進行了系統的最佳化,但它仍可被看成是一個 UNIX 系統。
1、iOS 系統層級
  • iOS 系統採用層的概念來劃分系統的技術實現,每一層都由各自的架構組成,iOS 由下至上可以分為四層:核心 OS、核心服務層、媒體層和 Cocoa Touch 層。

    層級 主要架構
    Cocoa Touch UIKit 等
    Media Core Graphics 、OpenGl ES、Core Animation 等
    Core Services Core Data、Foundation 等
    Core OS Accelerate Framework、External Accessory Framework、Security Framework、System 等
  • 可以看到,要想編寫成型的產品,需要的不僅僅是語言本身,同時許多庫需要協同使用。語言只是產品開發的“膠水”,而架構和上面的這些庫才是 iOS 產品的骨架。Swift 語言能夠無縫的調用所有庫。

1.1 Core OS --- 核心 OS 層
  • 核心 OS 層包含 Accelerate Framework、External Accessory Framework、Security Framework、System 等幾個架構,基本都是基於 C 語言的介面。

  • 核心 OS 層是最接近於作業系統的一層,在這個層次上,主要實現硬體以及作業系統介面封裝。

  • 核心 OS 層通常進行線程操作、複雜的數學運算、硬體加密等工作。

1.2 Core Services --- 核心服務層
  • 核心服務層包含 Address Book Framework、CFNetwork Framework、Core Data Framework、Core Foundation Framework、Core Location Framework、Core Media Framework、Core Telephony Framework、Event Kit Framework、Foundation Framework、Mobile Core Services Framework、Quick Look Framework、Store Kit Framework、System Configuration Framework、Block Objects、Grand Central Dispatch、In App Purchase、Location Services、SQLite、XML Support 等一些架構,也基本都是基於 C 語言的介面。

  • Foundation 架構提供了字串、數值的管理、容器及枚舉、分散式運算、事件迴圈、URL 與資料流操作、國際化,以及其他與圖形化使用者介面沒有直接關係的功能。其中類和常數常用 “NS” 首碼來標誌。

  • Core Data 架構主要在資料模型、資料存放區方面發揮作用。在程式啟動並執行時候,Core Data 架構會建立並管理資料模型的執行個體,同時還對外提供資料模型提供者。除此之外,Core Data 還可以將對象資料存放區在 SQLite 資料庫以獲得效能最佳化、管理 undo/redo(撤銷/重做)等操作,還支援在記憶體中對資料進行歸類、過濾及組織資料。

1.3 Media --- 媒體層
  • 媒體層包含 Core Graphics、Core Animation、OpenGL ES、Core Text、Image I/O、Assets Library Framework、Media Player Framework、AV Foundation、OpenAL、Core Audio Frameworks、AV Foundation、Core Media 等等。

  • 媒體層包含圖形技術(包含動畫技術)、音頻技術和視頻技術,可以使用這層的技術更快速的建立進階的圖形和動畫,方便的獲得音頻、視頻的支援。

    • 1)圖形技術:是 iOS 應用程式的重要組成部分。建立應用程式最簡單、最有效方法是使用事先渲染過的圖片,搭配上標準視圖以及 UIKit 架構的控制項,然後把繪製任務交給系統來執行。

      • Core Graphics :也被稱為 Quartz,用於處理本地 2D 向量渲染和圖片渲染。
      • Core Animation :Quartz Core 架構的一部分,為動畫視圖和其他內容提供更進階別支援。
      • OpenGl ES :為使用硬體加速介面的 2D 和 3D 渲染提供支援。
      • Core Text :提供一個精密的文本布局和渲染引擎。
      • Image I/O :提供讀取及編寫大多數圖形格式的介面,匯入和匯出映像資料和映像中繼資料。
      • Assets Library framework :資產庫架構,用於訪問使用者照片庫中的照片和視頻。
    • 2)音頻技術:iOS 音頻技術可以用來播放或錄製高品質的音頻,也可以用於觸發裝置的震動功能。

      • 媒體播放器架構:是可以拿來即用的播放器。
      • AV Foundation :提供用於管理音訊播放或錄製的介面。
      • Core Audio :可以使用此架構的介面播放系統的警報聲音、觸發的震動功能、管理多聲道的緩衝和播放、對音頻內容進行流化處理。
    • 3)視頻技術:可用於播放應用程式套件組合含的電影檔案以及來自網路的資料流內容。如果裝置具有合適的視頻硬體,這些技術也可以用於捕捉視頻,並可將捕捉到的視頻整合到應用程式。

      • 媒體播放器架構:可用於播放應用程式中全屏或部分屏的電影。
      • AV Foundation :可以對電影的捕捉和播放進行管理。
      • Core Media :對較進階架構使用的底層類型進行描述,同時也提供一些底層介面,用於對媒體進行處理。
1.4 Cocoa Touch --- Cocoa Touch 層
  • Cocoa Touch 層包括 Address Book UI Framework、Event Kit UI Framework、Game Kit Framework、iAd Framework、Map Kit Framework、Message UI Framework、UIKit Framework 等等,這一層基本都是基於 Objective-c 的介面。

  • Cocoa Touch 層包含了用於 iOS 應用開發的圖形介面構建的類。其中所有的類,都以 “UI” 為首碼。

  • Cocoa 是蘋果開發體系的統稱,Cocoa 包含一些主要的 OC 物件程式庫,我們稱這些物件程式庫為架構。架構是由許多類、方法、函數和文檔按照一定的邏輯組織起來的集合,以使研發程式更容易。為所有程式開發奠定基礎的架構稱為 Foundation 架構。

    • 術語 Cocoa:是指 Foundation 、Core Data 和 AppKit(Application Kit) 架構架構。用於 macOS 裝置上的應用程式開發。
    • 術語 Cocoa Touch:是指 Foundation 、Core Data 和 UIKit 架構。用於 iOS 裝置上的應用程式開發。

iOS 系統層級

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.