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