淺談手機(jī)系統(tǒng)——iOS
我們知道,iOS的原始名稱是iPhone OS,它是一種類似于UNIX的商業(yè)操作系統(tǒng)。
而大家也都常說(shuō)iOS是一個(gè)封閉式的系統(tǒng),為什么這么說(shuō)呢?因?yàn)閕OS的系統(tǒng)并未開源,即閉源。
什么是開源?
開源,(Open Source)全稱為開放源代碼。開源系統(tǒng)即開放源代碼的系統(tǒng)。開放源代碼意味著大家都可以在其基礎(chǔ)上進(jìn)行修改操作。開源系統(tǒng)則意味著大家都可以修改這個(gè)系統(tǒng)。
開源并不代表著可以不重視版權(quán),用戶在使用開源產(chǎn)品時(shí),不但需要說(shuō)明產(chǎn)品來(lái)自開源軟件和注明源代碼編寫者姓名,而且還應(yīng)把所修改產(chǎn)品返回給開源軟件,否則所修改產(chǎn)品就可視為侵權(quán)。
正因?yàn)閕OS是閉源操作系統(tǒng),所以大家不能去修改iOS這個(gè)系統(tǒng),也就導(dǎo)致了現(xiàn)在iOS就是iOS,并沒(méi)有什么基于iOS定制的第三方操作系統(tǒng)。
但有的用戶通過(guò)一些手段就可以修改系統(tǒng)文件,達(dá)到修改主題等等自己的目的,這個(gè)方法類似于Android中的root,在iOS中,我們稱之為越獄。
什么是越獄?
iOS 越獄(iOS Jailbreaking),是用于獲取蘋果公司便攜裝置操作系統(tǒng)iOS最高權(quán)限的一種技術(shù)手段,用戶使用這種技術(shù)及軟件可以獲取到 iOS 的最高權(quán)限,越獄軟件適用于iPhone、iPod touch、iPad及 Apple TV 第二代上的 iOS 系統(tǒng)。用戶越獄完畢之后,可以透過(guò)如Cydia這一類包管理器,來(lái)安裝 AppStore 以外的擴(kuò)展軟件及外觀主題,或是完成越獄前不可能完成的動(dòng)作,如安裝Linux系統(tǒng)。
不完美越獄,是對(duì) iOS 系統(tǒng)上越獄效果的一個(gè)描述。英文原文為 Tethered jailbreak,意為被"栓住的越獄"。不完美越獄具體表現(xiàn)是經(jīng)過(guò)這種類型越獄的設(shè)備無(wú)法正常重啟手機(jī)(失去越獄,部分系統(tǒng)功能失效,甚至白蘋果)。
如果要恢復(fù)越獄需連接電腦進(jìn)入DFU并運(yùn)行之前使用的越獄工具進(jìn)行引導(dǎo),以使設(shè)備正常重啟并開機(jī)。不完美越獄后可以安裝Semitether插件來(lái)避免不完美越獄在緊急情況重啟也能正常開機(jī)。不完美越獄往往依靠的是iOS設(shè)備的硬件漏洞。
說(shuō)了這么多,iOS給大家的印象就是封閉的操作系統(tǒng),可為什么有很多人喜歡用呢?因?yàn)閕OS用起來(lái)非常流暢、絲滑。說(shuō)到這,咱們不得不詳細(xì)說(shuō)說(shuō)iOS。
iOS發(fā)展iOS操作系統(tǒng)基本上從2007年誕生以來(lái)每年更新一個(gè)大版本,每個(gè)大版本會(huì)相應(yīng)更新一些新的特性和功能,具體匯總?cè)缦?
iOS系統(tǒng)架構(gòu)iOS的系統(tǒng)架構(gòu)和Android一樣,也分了四個(gè)模塊,從底層到上層分別為Core OS、Core Services、Media、Cocoa Touch,而且四個(gè)模塊跟Android的四個(gè)模塊所實(shí)現(xiàn)的功能幾乎是一一對(duì)應(yīng)的。
Core OS
核心系統(tǒng)層提供為上層結(jié)構(gòu)提供最基礎(chǔ)的服務(wù)如操作系統(tǒng)內(nèi)核服務(wù)、本地認(rèn)證、安全、加速等。可以認(rèn)為是Darwin的系統(tǒng)內(nèi)核。
Core Services
核心服務(wù)層為程序提供基礎(chǔ)的系統(tǒng)服務(wù)例如網(wǎng)絡(luò)訪問(wèn)、瀏覽器引擎、定位、文件訪問(wèn)、數(shù)據(jù)庫(kù)訪問(wèn)等,主要包含以下框架
CFNetwork(網(wǎng)絡(luò)訪問(wèn))
Core Data(數(shù)據(jù)存儲(chǔ))
Core Location(定位功能)
Core Motion(重力加速度,陀螺儀)
Foundation(基礎(chǔ)功能如NSString)
Webkit(瀏覽器引擎)
JavaScript(JavaScript引擎)
Media媒體層主要提供圖像引擎、音頻引擎、
視頻引擎框架圖像引擎(Core Graphics、Core Image、Core Animation、OpenGLES)
音頻引擎 (Core Audio、 AV Foundation、OpenAL)
視頻引擎(AV Foundation、Core Media)
Cocoa Touch
可觸摸層主要提供用戶交互相關(guān)的服務(wù)如界面控件、事件管理、通知中心、地圖,包含以下框架
UIKit(界面相關(guān))
EventKit(日歷事件提醒等)
Notification Center(通知中心)
MapKit(地圖顯示)
Address Book(聯(lián)系人)
iAd(廣告)
Message UI(郵件與SMS顯示)
PushKit(iOS8新push機(jī)制)
iOS為何更流暢
我們?cè)谌粘J褂弥薪?jīng)常會(huì)聽到說(shuō)iOS的使用比Android要流暢,那么為什么我們會(huì)有這種感知呢,實(shí)際上這根iOS和Android的工作機(jī)制不同有關(guān),下面我們來(lái)分析下為何iOS會(huì)顯得更流暢
1、響應(yīng)優(yōu)先級(jí)不同
iOS:Touch—Media—Service—Core,最先響應(yīng)屏幕。
Android:Application—Framework—Library—Kernal,和顯示相關(guān)的圖像處理屬于Library,觸摸屏幕之后會(huì)先激活應(yīng)用、框架然后才是屏幕。
也就是說(shuō)iOS對(duì)于屏幕觸控的反饋優(yōu)先響應(yīng)屏幕,所以會(huì)給使用者造成iOS反應(yīng)快的感知,比如同一個(gè)應(yīng)用iOS和Android都是2秒打開的話,iOS會(huì)先快速打開APP然后2秒鐘后加載完成,而Android則是先2秒鐘加載完成后才顯示打開APP。雖然總耗時(shí)相同,但給用戶的感知會(huì)是iOS更快。
2、硬件工作配置不同
iOS:基于GPU硬件加速,可以不完全借助CPU或者程序本身,而是通過(guò)GPU進(jìn)行渲染達(dá)到更流暢的操控表現(xiàn)。
Android:圖形特效大多都要靠程序本身進(jìn)行加速和渲染,并嚴(yán)重依賴CPU運(yùn)算和操作,加大了處理器的負(fù)荷,從而出現(xiàn)卡頓的問(wèn)題。(雖然Android高版本系統(tǒng)默認(rèn)開啟硬件加速,但無(wú)法像iOS系統(tǒng)一樣做到系統(tǒng)層級(jí)的加速全部圖形特效。
3、開發(fā)機(jī)制不同
iOS:Objective-C或Swift,編譯器為gcc,不要虛擬機(jī)在中間插手,執(zhí)行效率高。
Android:通過(guò)Java虛擬機(jī)來(lái)執(zhí)行,系統(tǒng)需要占用大量?jī)?nèi)存來(lái)獲取執(zhí)行速度,再加上不定期的內(nèi)存自動(dòng)回收機(jī)制,直接導(dǎo)致了卡頓現(xiàn)象的出現(xiàn)。(事實(shí)上Android在換位ART模式后避免了虛擬機(jī)帶來(lái)的弊端,啟動(dòng)速度已經(jīng)接近于iOS)
4、系統(tǒng)設(shè)計(jì)不同iOS:封閉性,所有APP運(yùn)行對(duì)象比較單一,App Store。Android:終端對(duì)象參數(shù)多變,各Android廠商的應(yīng)用市場(chǎng),APP管理混亂。
5、消息推送機(jī)制不同
iOS:APNs統(tǒng)一管理,應(yīng)用不會(huì)在后臺(tái)占用內(nèi)存。
Android:沒(méi)有統(tǒng)一管理機(jī)制,應(yīng)用可以一直留在后臺(tái),導(dǎo)致內(nèi)存不足。(雖然Google有官方的GCM推送機(jī)制,但國(guó)內(nèi)無(wú)法使用,所以國(guó)內(nèi)更多是接入各類的第三方推送,不夠統(tǒng)一,而國(guó)內(nèi)的統(tǒng)一推送聯(lián)盟從成立后就沒(méi)什么大動(dòng)作。。。)
好啦,以上就是我們給大家?guī)?lái)的ios介紹,感興趣的朋友可以點(diǎn)贊評(píng)論分享哦!后續(xù)我們會(huì)為大家分享更多好玩有趣的知識(shí),點(diǎn)個(gè)關(guān)注吧!