移动开发(IOS) – iOS系统架构
移動開發(fā)(IOS) – iOS系統(tǒng)架構(gòu)
1.iOS系統(tǒng)架構(gòu)的四個層次
1.1.可觸摸層(Cocoa Touch):為應(yīng)用程序開發(fā)提供各種有用的框架,并且大部分均與用戶界面有關(guān),本質(zhì)上來說它負(fù)責(zé)用戶在iOS設(shè)備上的觸摸交互操作。
1.2.媒體服務(wù)層(Media Services):負(fù)責(zé)提供用于構(gòu)建應(yīng)用程序的圖形和聲音的API,可以在應(yīng)用程序中使用各種媒體文件,進(jìn)行音頻與視頻的錄制,圖形繪制,以及制作基礎(chǔ)的動畫效果。
1.3.核心服務(wù)層(Core Services):這一層提供了訪問Core OS層的硬件功能并包含了Foundation框架。正因為如此,這一層提供了構(gòu)建iOS應(yīng)用程序所需的大量基礎(chǔ)元件,例如字符串、數(shù)組以及其他通用數(shù)據(jù)類型。核心服務(wù)層可以訪問iOS的一些服務(wù),比如網(wǎng)絡(luò)連接、文件訪問、數(shù)據(jù)庫、用戶定位等。
1.4.核心操作系統(tǒng)層(Core OS ):這一層次包含了iOS操作系統(tǒng)的很多基礎(chǔ)組件,其中包括:系統(tǒng)內(nèi)核、內(nèi)存管理、文件系統(tǒng)、電源管理、網(wǎng)絡(luò)組件和設(shè)備驅(qū)動等,可以直接和硬件設(shè)備進(jìn)行交互。
2.iOS系統(tǒng)框架
| 框架名稱 | 功能 |
| Foundation | 提供OC的基礎(chǔ)類(像NSObject)、基本數(shù)據(jù)類型等。 |
| UIKit | 創(chuàng)建和管理應(yīng)用程序的用戶界面。 |
| QuartzCore | 提供動畫特效以及通過硬件進(jìn)行渲染的能力。 |
| CoreGraphics | 提供2D繪制的基于C的API。 |
| SystemConfiguration | 檢測當(dāng)前網(wǎng)絡(luò)是否可用和硬件設(shè)備狀態(tài)。 |
| AVFoundation | 提供音頻錄制和回放的底層API,同時負(fù)責(zé)管理音頻硬件。 |
| CFNetwork | 訪問和配置網(wǎng)絡(luò),像HTTP、FTP和Bonjour Services。 |
| CoreFoundation | 提供抽象的常用數(shù)據(jù)類型,如Unicode strings、XML、URL等。 |
| CoreLocation | 使用GPS和WIFI獲取位置信息。 |
| GameKit | 為游戲提供網(wǎng)絡(luò)功能:點對點互聯(lián)和游戲中的語音交流。 |
| AddressBook | 提供訪問用戶聯(lián)系人信息的功能。 |
| AddressBookUI | 提供一個用戶界面,顯示存儲在地址簿中的聯(lián)系人信息。 |
| AudioToolBox | 提供音頻錄制和回放的底層API,同時負(fù)責(zé)管理音頻硬件。 |
| AudioUnit | 提供一個接口,讓應(yīng)用程序可以對音頻進(jìn)行處理。 |
| MapKit | 為應(yīng)用程序提供內(nèi)嵌地圖的接口。 |
| MediaPlayer | 提供播放視頻和音頻的功能。 |
| MessageUI | 提供視圖控制接口用以處理E-mail和短信。 |
| OpenGLES | 提供動畫特效以及通過硬件進(jìn)行渲染的能力。 |
| StoreKit | 為應(yīng)用程序提供在程序運行中消費的支持。 |
3.iOS 和 android 系統(tǒng)架構(gòu)對比
3.1.android是基于Linux內(nèi)核設(shè)計的,在Linux內(nèi)核上面運行了一個Java虛擬機(jī),虛擬機(jī)再運行軟件。像是在一個系統(tǒng)上面又套了一個系統(tǒng),所以占內(nèi)存較大、運行速度略低。
3.2.iOS是基于UNIX的,直接與底層硬件通信。系統(tǒng)底層、應(yīng)用框架、應(yīng)用軟件都是采用C/C++或者Objective-C寫的,所以有很高的運行效率。
總結(jié)
以上是生活随笔為你收集整理的移动开发(IOS) – iOS系统架构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 编码、字符集编码、UTF8mb3/UTF
- 下一篇: 去掉ubuntu下windows文件夹绿