【學習總結】IOS系統和Android系統的區別

全面對比

  • 從硬件、軟件、用戶三個方面進行對比。

1 硬件

  • 主要從處理器角度分析

iOS

  • iOS系統是基於蘋果公司自研處理器A系列進行的開發設計;java

  • 蘋果公司軟硬件高度統一,徹底閉環,避免了兼容性問題的考慮,軟件系統和硬件系統的協同設計得以更好地進行,使得iOS系統更適合A系列處理器的同時,A系列處理器也更適合iOS系統。linux

Android

  • 安卓處理器生產廠商較多,如高通、華爲、三星等較爲主流。android

  • 三星、華爲芯片,和蘋果公司同樣,採用自研自用,而其餘國內手機廠商不具有自研芯片的技術能力,須要購買後再進行相應的操做系統的設計開發,受限於處理器的核心技術。ios

  • 處理器在設計、生產的過程當中,難以真正作到軟硬件協同設計開發,須要兼顧不一樣廠商;同時,操做系統的設計開發是在已有處理器、沒法對處理器進行再設計的狀況下進行的。objective-c

2 軟件

  • 主要從框架、運行機制、後臺機制、指令優先級、開發等角度對比。

框架

  • iOS系統框架:
    • iOS系統是蘋果公司開發的移動端操做系統,全稱iPhone operation system數據庫

    • iPhone OS來源於Mac OS,是一種類Unix操做系統。編程

    • iOS系統做爲軟件應用程序與設備硬件的橋樑,應用程序首先與操做系統的接口通訊,系統受到信息後再去與底層硬件實現交互從而完成程序要完成的任務。瀏覽器

    • iOS操做系統架構分爲四層,從下到上依次爲:Core OS操做系統層、Core Services核心服務層、Media媒體層、Cocoa Touch觸摸層。安全

    • Core OS操做系統層和Core Services核心服務層:爲iOS系統底層接口。網絡

    • Core OS操做系統層:包含了電池管理、文件系統等服務。

    • Core Services核心服務層:包含了網絡請求、數據庫訪問、瀏覽器、文件訪問等。

    • Media媒體層:爲應用程序提供對各種媒體文件的支持,圖的繪製,多媒體的播放以及動畫等特效。

    • Cocoa Touch層:位於最頂層,爲整個系統提供程序所使用的各種基礎框架,該層主要功能是處理iOS設備上的交互操做,多爲與界面相關的框架。

  • Android系統框架
    • 安卓系統平臺是谷歌公司開發的,其系統內核自己經過linux內核,操做系統屬於嵌入式。

    • 安卓平臺採用分層架構的思想進行設計,從上到下共有四層,分別是應用程序層(與用戶交接),應用程序框架層(系統的邏輯運行),系統庫(支持系統運行),安卓運行時,linux內核。

    • 基於安卓開發的應用程序都是經過java語言進行設計實現的,每個程序的運行都表明着系統一個進程的實現。此模式大大提升了安卓操做系統的性能。(Dalvik虛擬機)

    • linux內核層:實現安卓平臺軟硬件融合的基礎,其將硬件資源進行了屏蔽,並提供各類公共功能,以便爲上一層提供相應服務,有助於提高效率。

    • 安卓庫層:Dalvik虛擬機在運行時佔用的資源不多,使得系統能同時運行多個VM,而且擁有較好的性能,平臺的寄存器技術有谷歌自主研發,同時爲了方便各項功能處理,平臺提供許多方法供調用。該層經過一些重要的庫文件,對系統起着服務支撐做用,經過將服務文件集中統一到系統底層可讓系統具有更強的兼容性,配合不一樣的硬件完成工做,其中最典型的就是NDK。

    • 應用架構層:首先須要得到開發權限,並以框架爲工做重點,框架的使用能夠實現組件複用,減小代碼開發,提高開發效率。

    • 應用程序層:系統的頂層,直接面向系統使用者,包括了大量的應用程序,並利用系統底層的Dalvik虛擬機運行。

運行機制

  • iOS:沙盒運行機制
    • 出於安全考慮,iOS應用程序與文件系統的交互僅限於應用沙盒目錄。

    • 在安裝新應用期間,安裝程序會爲沙盒目錄中的應用建立多個容器目錄。

    • 每一個容器目錄都有特定的角色:捆綁容器目錄保持應用的捆綁包;而數據容器目錄同時保存應用和用戶的數據;數據容器目錄進一步劃分爲多個子目錄,應用可用於排序和組織其數據;該應用還能夠請求在運行時訪問其餘容器目錄。

    • 意味着:沒有用戶受權的狀況下,iOS應用程序僅能在本身的沙盒讀寫文件,不可訪問其餘沙盒,不可進行相互通訊。在訪問其餘沙盒內容時,須要發出請求,經過權限檢測,只有知足條件纔可完成訪問。

  • Android:虛擬機運行機制
    • 安卓採用虛擬機運行機制,Dalvik是谷歌公司自研設計用於安卓平臺的java虛擬機,是面向linux、爲嵌入式操做系統設計的虛擬機,主要負責完成對象生命週期管理、棧堆管理、線程管理、安全和異常管理、垃圾回收等功能。

    • Dalvik負責進程隔離和線程管理,每個安卓應用在底層都會對應一個獨立的Dalvik虛擬機實例,其代碼在虛擬機的解釋下得以執行,有的安卓應用的線程對應一個linux線程,虛擬機於是能夠更多依賴操做系統的線程調度和管理機制。

後臺機制

  • iOS系統:僞後臺

    • iOS4:iOS開始擁有多任務功能,按home鍵之後,程序轉入後臺,以墓碑的形式保存在內存中,用戶能夠快速恢復。iOS多任務界面列出的應用僅僅是近期使用過的,而並不是真正在後臺運行的程序。僅有特殊應用能夠在後臺真正運行,好比音頻播放、位置服務等。

    • iOS7:標誌着僞後臺到智能後臺的轉變。手機鎖屏後,後臺應用很快被暫停,再次喚醒後,應用繼續運行。

  • Android系統:真後臺

    • 同Windows操做系統類似,將應用保留在RAM中,即安卓全部軟件在硬件條件許可的狀況下,能夠實現後臺甚至多窗口模式。

    • 安卓的應用都是帶有獨立虛擬機的,即每打開一個應用,對應會打開一個獨立的虛擬機,每一個應用具備本身的進程和內存空間,但須要更多的內存。

指令權限優先級

  • iOS系統ui指令

    • iOS系統中的ui指令具備最高權限,ui渲染採用實時優先級

    • iOS系統響應順序依次爲:(從上到下)觸摸層、媒體層、核心服務層、操做系統層。

    • 用戶觸摸屏幕後,iOS系統會首先激活屏幕,而後纔是媒體、服務及架構。

  • Android系統數據處理指令

    • 優先級響應層級:(從上到下)應用層、架構層、系統庫、內核架構。

    • 其中最高權限指令爲數據處理指令,而其ui渲染遵循傳統電腦的主線程普通優先級,觸摸屏幕後安卓系統會首先激活應用、框架,而後屏幕,最後纔是核心架構。

開發

  • iOS:objective-c

    • iOS編程語言爲objective-c,具備專注性強、效率高的特色;

    • iOS系統優化較好,gcc編譯出的代碼被蘋果轉爲iOS架構優化到了極致,無需虛擬機,執行效率高。

    • iOS產品的封閉性,底層硬件穩定、單一,使得其應用程序得以擁有極高的硬件利用率,保證了應用開發自己與硬件產品的完美結合。

  • Android:java

    • 安卓的編程語言是java,通用性強,但效率低。

    • 安卓系統須要虛擬機運行,效率低。

    • 安卓生態硬件變化相對頻繁,開發成本較高,收益慢,同時爲了兼顧通用,不得不向軟硬件協同開發設計低頭。

3 用戶

  • 主要從系統應用、價格、安全管理、系統更新進行對比

系統應用

  • 應用數量是用戶選擇手機系統的重要緣由之一。

  • iOS:APP store;Android:Google Play。

  • iOS數量一直很高,直到安卓市場份額增加,且審覈較寬鬆,安卓APP數量一直上升。

  • 關於系統應用對比,安卓和iOS分別在數量和質量方面佔據必定優點,處於一種良性競爭並駕齊驅狀態。

價格

  • iPhone手機毫無疑問是當季手機的最高價格,也限制了一些客戶的購買與無望。

  • 在手機價格方面,安卓更吸引消費者。

安全管理

  • 安卓系統:開放性和普及性,使得一些病毒和惡意程序對其的攻擊也隨之而來。安卓系統的更新問題一樣是大多數病毒攻擊的方面,因爲最新版本系統的普及率不高,還有不少一部分用戶在使用較低版本的系統,病毒會從這些版本的漏洞攻擊。

  • iOS系統:在硬件和軟件的方面都使用了許多安全功能,採用安全啓動、觸控ID,面部ID,非執行記憶體,加密鑰匙圈,應用程序保安,雙重身份認證等功能,更好地保護消費者的安全。

  • 相比而言,iOS是目前最安全的移動操做系統。

系統更新

  • 目前,幾乎50%的iOS設備都運行最新版本,相對而言,安卓設備運行最新版本佔總數的比重就不多了,舊系統的使用者仍佔大多數。

  • 若是客戶側重的是系統更新,那麼優選iOS

==============================================================

注:從技術角度和使用操做兩方面詳述IOS系統和Android系統的區別

  • 蘋果把用戶當作user,安卓把用戶當作admin

概述不一樣

底層

  • Android是一種基於Linux的自由及開源的操做系統,主要使用於移動設備,如智能手機和平板電腦,由Google公司發行。

  • iOS是由蘋果公司開發的移動操做系統,用於蘋果設備。

流暢性

  • Android系統採用了虛擬機的運行機制,這樣的運行機制須要消耗更多的系統資源,使用一段時間後就會變得卡頓;

  • ios系統幾乎不會出現卡頓的現象,而且Android系統的桌面滑動的靈敏性都不如ios系統。

性價比

  • 蘋果公司對ios系統是擁有專利的,若是別的手機生產廠商想使用ios系統,那絕對是收費的,可是而且蘋果公司不會會把本身的系統給別人用。

  • Android系統是Google公司提供的免費、開源的系統,而且Android比iOS開放了更多的應用接口API,能夠很天然地利用Android實現不少在iOS上不折騰就無法作的功能,Android因爲源代碼開放,天然可玩性也比iOS高。在性價比角度,Android系統絕對會完爆ios系統。

省電

  • ios系統是更加省電的。

  • Android會佔用更多的資源來支撐系統運行,致使了它會比較費電。

後臺執行程序

  • IOS系統根本不須要清理後臺。IOS獨特的任務管理機制。當應用程序不在前臺運行時,除了GPS服務、音頻播放服務和VOIP服務之外,其餘的應用(支持所謂的後臺執行的程序)在10分鐘後都是被系統掛起的,從技術上來講,被掛起的意思等同於不執行,只是數據駐留在內存而已。

    • IOS系統的多任務假象,例如QQ,看起來貌似是在後臺運行,其實不是。你能收到消息提示只是系統推送服務,不管你的應用程序是否在運行,IOS都會在後臺維護這個服務以實現假的多任務,而且全部的應用程序都會共用這一服務通道。
  • Android系統的後臺軟件很難關掉,由於有的軟件會以各類形式自啓,佔用系統資源。

系統穩定性

  • 雖然iOS更穩定不易死機,若是出現死機狀況也不能拆電池,畢竟,iphone是一體機。

  • Android就好多了,死機後直接拆電池,固然了,也有Android系統的手機是一體機的。小編認爲:愛護本身的手機,不隨意瀏覽網頁、不隨意下載軟件,手機是不會死機的。

系統更新

  • ios系統一旦更新出來後,搭載其系統的蘋果移動設備均可以及時的升級系統。

  • Android系統雖然更新出新版的系統,可是普通用戶是享受不到的,由於它不能自動更新到最新版。

安全

  • ios系統比較安全,由於蘋果公司在爲ios系統添加功能之類的操做,會開發並測試很長時間。

  • Android系統要求較低「跑起來就好了」,開發測試時間較短,漏洞也比較多,「黑客」只需簡單發送一條彩信便能在用戶絕不知情的狀況下徹底控制手機。

桌面界面

  • ios系統的界面比較單一,也是比較經典的。

  • Android的界面能夠根據本身的喜愛來設置,比較多樣化。

=======================================================================

參考連接

END

相關文章
相關標籤/搜索