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


全面對比

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

1 硬件

  • 主要從處理器角度分析

iOS

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

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

Android

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

  • 三星、華為芯片,和蘋果公司一樣,采用自研自用,而其他國內手機廠商不具備自研芯片的技術能力,需要購買后再進行相應的操作系統的設計開發,受限於處理器的核心技術。

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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM