跳到主要內容

總說iPhone運行流暢不卡,Android就很卡?

  本文來自太平洋電腦網


  買手機時,最常聽到的建議是,有錢就買蘋果吧,用幾年都不會卡。所以即便是蘋果新款手機賣出超出市面上絕大部分手機近一倍的價格,依舊有許多消費者會為之買單。因為他們相信,蘋果的手機能用上更長的時間而且擁有絕佳的體驗。



  事實上,的確是如此,儘管安卓旗艦的配置和體驗越來越好,但蘋果似乎還是維持着在手機界的霸主地位。本篇文章就為大家講述 iOS 為什麼能做到持久不卡而 Android 卻頻繁卡機。


  全面屏手勢——"更流暢的動畫效果"


  iOS 的設計和體驗一直是有口皆碑的,特別在 iPhone X 之後的全面屏手勢體驗上,目前來說,還沒有安卓的手機能完完整整做到 iOS12 上全局手勢上的跟手度,而系統各處的動畫效果比如打開控制中心、在多任務處理時進行輕掃,或在 app 中滾動瀏覽,這些操作都會更流暢、更靈敏。



  Android 儘管擁有各種各樣的快捷操作、自定義手勢,全面屏手勢,動畫效果,但整體上的視覺效果並比不上 iOS 帶給用戶的流暢、完整、跟手。所以第一印象很容易會給消費者帶來 Android 手機比不上蘋果手機流暢的感覺。而事實上,造成這種現象的原因源於很多底層的原因,下文一一細說。


  流程更簡短,優先響應級別


  當我們使用 iPhone 或者是 Android 的智能手機時,第一步就是從鎖屏解鎖進入到桌面,然後找到需要使用的 APP 點擊進入。


  這是絕大部分人使用手機時候的基礎操作,這個時候 iOS 系統就表現出來了流暢的一面,但 Android 產品卻經常給人一種卡頓的現象,特別是後期使用手機時候點開的軟件多了的時候,Android 就遠遠不如 iOS 流暢。這是為什麼呢?



  這與兩個系統的響應優先級有關,iOS 對屏幕反應的優先級是最高的,它的響應順序依次為 Touch>Media>Service>Core 架構,簡單說當用戶觸摸屏幕之後,系統就會最高優先去處理屏幕显示,也就是觸摸(Touch)這個層級,然後才是媒體(Media),服務(Service)以及 Core 架構。


  而 Android 系統的優先級響應層級則是 Application>Framework>Library>Kernal 架構,和显示相關的圖形圖像處理這一部分屬於 Library。也就是說當你觸摸屏幕之後,Android 系統首先會激活應用,調用框架然後才是屏幕最後是核心架構。


  所以 iOS 能讓人從上手就感受到跟手,流暢,因為 iOS 從一開始開發就是為觸摸屏幕交互所設計,而 Android 則不同,Android 的設計初衷是為了軟件 APP 而開發。不過優先級對系統流暢性是有影響不假,但這並不是最主要的原因,造成兩系統之間流暢性不一的現象還有其它因素,我們可以接着往下看。


  硬件加速


  如果說從系統底層優先級響應上,iOS 已然做到了為流暢而生,那麼在硬件上,iPhone 也與 Android 手機不同。iOS 系統對圖形的各種特效處理基本上都是基於專用的 GPU 硬件進行加速的,它可以不用完全藉助 CPU,而是通過 GPU 進行渲染以達到更流暢的操控表現。



  而 Android 則不是如此,一方面原因是 Android 需要適配不同硬件以滿足各種差異配置,一方面 Android 的設計邏輯並不是為了觸控服務。當然,在 Android 4 之後的系統版本中,都默認開啟使用 GPU 硬件進行加速渲染,但依舊無法做到所有特效全部都靠 GPU 進行加速。


  屏幕最先響應的優先級關係再加上 iSO 本身 GPU 加速程序的特性,使得用戶在操控過程中感覺 iOS 手機擁有着超高的流暢性和舒適度。因為 iOS 本身的整個設計流程都是在為最大化的流暢做服務,不管是第一印象的滑動觸摸屏幕,還是你進一步使用程序時的操作都是如此。最後加上 GPU 加速這點特性,使得 iOS 能軟硬件結合,使系統流暢性達到 Android 手機望塵莫及的高度。


  後台機制——"偽後台"與"真後台"


  如果說 iOS 在觸摸屏幕上做到軟硬結合已然不錯,但 iOS 與 Andorid 在軟件運行時的流暢度不同,則是因為另一個明顯的區別:後台機制。



  iOS 是採用偽後台機制,當用戶按 HOME 鍵(主頁鍵)退出應用時,iOS 其實關閉了該應用,只保留應用的圖像入口,並默認將應用的最後運行數據記錄在 RAM 中,當再次打開應用時,系統就會把之前保持的最後運行數據還原到應用中,此時應用還原了之前的狀態,給用戶一種應用會在後台運行的錯覺。


  那麼為什麼 iOS 中被殺死的應用也能收到推送消息呢?因為用戶從應用中選擇了開啟推送后,iOS 系統會增加幾個進程,這幾個進程會從蘋果的服務器接收信息,然後再通過該服務器發給用戶,蘋果服務器在其中就起到了中轉的作用。正是因為有了這一系列的機制,所以即便 iPhone 的"表面"配置 RAM 比安卓手機低,但是 iOS 還是會給人更加流暢的感覺。


  而 Android 則不同,Android 採用的是真後台機制,將應用保留在 RAM 中,當用戶按主頁鍵返回桌面或者退出程序時,程序實際上並沒有完全退出,而是被系統掛在了後台。這就是為什麼 Android 即便關掉了聊天軟件,依然能收到消息通知,因為它是常駐系統內存的,包括平時收到的垃圾廣告推送,也是因為後台程序在運行。


  這機制直接導致從內存使用上來看,Android 剛開機時內存使用很低,正常使用一天,如果不進行清理內存操作,內存佔用就會越來越高,導致 Android 系統的流暢度降低,最直觀的感受就是卡慢。所以安卓機器需要更大的 RAM,來提升用戶體驗;


  開發機制不同


  iOS 的編程語言是 Objective-C,使用編譯器 GCC,而 GCC 編譯出來的代碼又被 iOS 架構優化到了極致,運行過程中不需要虛擬機在中間插手,執行效率非常高。而且 GCC 使用內存是自己分配和回收的,簡單說就是當 GCC 要操縱指針,使用完內存,當時就釋放了。這導致了 ios 的內存使用率並不是特別高。所以 iOS 並不需要特別大的內存。



  Android 的編程語言是 Java。Java 的內存管理是通過 jvm,jvm 是後台管理內存,不需要程序關注內存。達到一定的內存佔用量會觸發 gc,gc 會 stoptheworld,把用戶線程停止掉。因此可能會影響兩方面,第一在 gc 的時候卡頓,特別是長 gc。長的可能達到幾秒甚至幾分鐘。


  第二,Android 本身不是為觸摸屏打造的,安卓所有的應用都是運行在一個虛擬的環境中,由底層傳輸數據到虛擬機中,再由虛擬機傳遞給用戶 UI,任何程序都可以輕鬆訪問其他程序文件。同時 gc 是後置的,內存佔用達到一定程度才回收內存,這導致了 Android 的內存使用率很高。當然,谷歌也意識到了這一點,所以在 Android 4.0 系統版本之後的版本,編程語言和機制已經被 Android 進行了改善,卡頓現象明顯降低了。


  應用開發,封閉式的 App Store


  App Store 是 iPhone 和 iOS 一個極為重要的標誌,App Store 不僅為蘋果實現了軟件上的盈利,更為 iOS 中的應用設置了一個標準要求,讓每一個應用程序一年都只適配一種最多兩種 CPU,極大的提高了硬件利用效率和軟件開發速度。



  而 Android 則不同,安卓是開源的,開放的,而且安卓是基於 Linux 內核和多線程的開發平台,開發成本低。此外,Android 沒有像 iOS 一樣的全封閉式 App Store,給開發人員相當高的開發自由度,並且還兼容各種各樣的硬件,讓軟件從此可以天馬行空不受拘束。



  iOS 和 Android 的應用開發各有特點,但也正是這些特點使 Android 也飽受"流氓"軟件的迫害,使得系統的流暢和整潔度遠遠比不上 iOS。當然,Android 系統里也有很多良心軟件,在可見的未來,Android 系統對軟件的規範也會越來越強,對"流氓"軟件的查殺也會一再改進。


  iPhone 越升越卡?Android 越用越卡?


  其實蘋果手機也不是永遠不卡的,簡單來說,iPhone 卡頓有兩個原因:第一種硬件太差,水平跟不上,說的就是已經發布了多年的手機,對比當前性能差太遠,所以使用會有所卡頓;第二種就系統又更新了。升級最新的 iOS 系統會給手機運行帶來一定的壓力,特別是已經發布多年的 iPhone。



  Android 越用越卡的原因除了是開發機制問題,更多的是 APP 造成的,主要是因為佔用內存、優化不足、流氓軟件影響。既然是 APP 的問題,最終的解決方法就是盡量下載規範一點的 APP,避免一些流氓軟件內置的互相喚醒、自啟、消息等權限。


  總結


  響應級別、硬件加速、後台機制、開發機制和應用開發等不同的緣故,造成了以前一直到現在 iOS 比 Android 系統更為流暢的現象。安卓很多手機在不清理後台,硬件未更新的情況下,幾乎都會遭遇卡頓的體驗,尤其是打開軟件加載資源時,在打開比較大的遊戲時,多應用切換時,或多或少的都會遇到卡頓甚至是重新加載應用的狀況。


  但好在硬件配置反超 iPhone 一大截的今天,Android 手機在軟件運行流暢度和美觀上已經擁有着不弱於 iOS 的體驗,特別是在 Android O 之後,谷歌也意識到了系統流暢度對體驗的提升,也在逐步的改進系統 UI 的設計。而國內對於 Android 深度定製的各家 UI,也同時擁有着基於 Android 的便捷操作和不差於 iOS 的美觀設計。


  未來,在改進了系統設計和擁有了強大硬件后的 Android,必定是撼動 iOS 的霸主地位的唯一騎士。目前,iOS 依舊是最為流暢和優秀的手機系統。


本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【精選推薦文章】



帶您來了解什麼是 USB CONNECTOR  ?



為什麼 USB CONNECTOR 是電子產業重要的元件?



又掌控什麼技術要點? 帶您認識其相關發展及效能



Orignal From: 總說iPhone運行流暢不卡,Android就很卡?

留言

這個網誌中的熱門文章

有了四步解題法模板,再也不害怕動態規劃!(看不懂算我輸)

導言 動態規劃問題一直是算法面試當中的重點和難點,並且動態規劃這種通過空間換取時間的算法思想在實際的工作中也會被頻繁用到,這篇文章的目的主要是解釋清楚 什麼是動態規劃 ,還有就是面對一道動態規劃問題,一般的 思考步驟 以及其中的注意事項等等,最後通過幾道題目將理論和實踐結合。 什麼是動態規劃 如果你還沒有聽說過動態規劃,或者僅僅只有耳聞,或許你可以看看 Quora 上面的這個 回答 。 How to explain dynamic 用一句話解釋動態規劃就是 " 記住你之前做過的事 ",如果更準確些,其實是 " 記住你之前得到的答案 "。 我舉個大家工作中經常遇到的例子。 在軟件開發中,大家經常會遇到一些系統配置的問題,配置不對,系統就會報錯,這個時候一般都會去 Google 或者是查閱相關的文檔,花了一定的時間將配置修改好。 過了一段時間,去到另一個系統,遇到類似的問題,這個時候已經記不清之前修改過的配置文件長什麼樣,這個時候有兩種方案,一種方案還是去 Google 或者查閱文檔,另一種方案是借鑒之前修改過的配置,第一種做法其實是萬金油,因為你遇到的任何問題其實都可以去 Google,去查閱相關文件找答案,但是這會花費一定的時間,相比之下,第二種方案肯定會更加地節約時間,但是這個方案是有條件的,條件如下: 之前的問題和當前的問題有着關聯性,換句話說,之前問題得到的答案可以幫助解決當前問題 需要記錄之前問題的答案 當然在這個例子中,可以看到的是,上面這兩個條件均滿足,大可去到之前配置過的文件中,將配置拷貝過來,然後做些細微的調整即可解決當前問題,節約了大量的時間。 不知道你是否從這些描述中發現,對於一個動態規劃問題,我們只需要從兩個方面考慮,那就是 找出問題之間的聯繫 ,以及 記錄答案 ,這裏的難點其實是找出問題之間的聯繫,記錄答案只是順帶的事情,利用一些簡單的數據結構就可以做到。 概念 上面的解釋如果大家可以理解的話,接    動態規劃 算法是通過拆分問題,定義問題狀態和狀態之間的關係,使得問題能夠以遞推(或者說分治)的方式去解決。它的幾個重要概念如下所述。    階段: 對於一個完整的問題過程,適當的切分為若干個相互聯繫的子問題,每次在求解一個子問題...

計算機本地文件快要滅絕了

   編者按: 文件是数字世界的基石,是我們基本的工作單位。但是,隨着互聯網的雲化、平台化、服務化,文件日益變得可有可無。這樣一種改變究竟好不好呢?喜歡懷舊的 Simon Pitt 開始回顧各種文件的好處,哪怕這讓他顯得不合時宜。原文發表在 medium 上,標題是:Computer Files Are Going Extinct   我喜歡文件。我喜歡對文件重命名、移動、排序,改變它們在文件夾中的显示方式,去備份文件,將之上傳到互聯網,恢復它們,對其進行複製,甚至還可以對文件進行碎片整理。作為信息存儲方式的一種隱喻,在我看來文件是很出色的。我喜歡把文件當作一個工作單位。如果我要寫篇文章,文章會放在文件裏面。如果我要生成圖像,圖像會保存進文件裏面。    謳歌 files.doc   文件是擬物化的。這是個很花哨的詞,只是用來表示文件是反映現實物品的一個数字概念。比方說,Word 文檔就像一張紙,躺在你的辦公桌上(desktop)。JPEG 就像一幅畫,等等。它們每個都有一個小圖標,圖標的樣子看起來像它們所代表的現實物品。一堆紙,一個畫框,一個馬尼拉文件夾。真的挺很迷人的。   我喜歡文件的一點是,不管裏面有什麼,跟文件的交互方式總是一致的。我上面提到的那些東西——複製、排序、碎片整理——我可以對任何文件進行那些處理。文件可能是圖像、遊戲的一部分、也可能是我最喜歡的餐具清單。碎片整理程序不在乎它是什麼。它不會去判斷內容。   自從我開始在 Windows 95 裏面創建文件以來,我就一直都很喜歡文件。但是我注意到我們已經開始慢慢地遠離把文件當作基本工作單位的做法。 Windows95。我的計算機    services.mp3 的興起   十幾歲的時候,我開始痴迷於收集和管理数字音樂:我收藏 MP3 文件。一大堆的 128 kbps MP3 文件。如果你足夠幸運,有自己的 CD 刻錄機的話,就可以將它們刻錄到 CD 上,然後在朋友之間傳遞。一張 CD 可以容納 700 MB。這相當於將近 500 張軟盤!   我會仔細端詳我的收藏,然後煞費苦心地給它們添加上 IDv1 和 IDv2 音樂標籤。隨着時間的流逝,大家開始開發可以在雲端自動獲取曲目列表的工具,這樣你就可以檢查和驗證 MP3 的質量。有時候我甚至會去聽那些該死的東西,儘管...

純電動 Mini Cooper SE 將成為中國國產車,年產 16 萬輛

BMW 集團與中國長城汽車合資,將於江蘇建立新廠,專門投入生產 MINI Cooper SE 和部分長城品牌電動車,預計於 2022 年完工並投入生產,每年將可生產 16 萬輛電動車。 靈動可愛的 Mini Cooper,在許多車迷心中都有著特殊的地位,今年 7 月發表了首款純電動版本的 Mini Cooper SE 之後,獲得熱烈迴響,預訂數量已接近 8 萬台,顯示大家對於純電 Mini 的熱愛,因為油電版的 Mini Cooper Countryman 的全球總銷售量也才 3 萬出頭。 Mini Cooper SE 之前公布了官方定價,最低從 27,900 歐元起算,美國售價約 29,900 美元。相比現有的三門款,只貴了一成左右。然而,三年後,中國消費者將有機會買到最便宜的電動 Mini。 電動 Mini Cooper SE 最低價是 27,900 歐元,扣掉全額補助最低可以到 24,400 歐元。 BMW 集團與中國長城汽車集團於 2018 年宣布,將組建合資公司光束汽車,投入在中國的電動車生產計畫,而現在他們正式宣布啟動計畫,於江蘇張家港打造一個新工廠,全部投入電動車的製造,包括了 Mini Cooper SE 和其他長城汽車旗下的電動車。 目前的電動 Mini 只在英國牛津工廠製造,不難想像當產能轉移到中國後,Mini Cooper SE 的價格將有機會進一步調降,來競爭全球最大的電動車市場。這座屬於合資公司光束汽車的新工廠,採用一個新的產銷模式,由 BMW 和長城共同合作開發、設計、製造新產品,但是銷售通路完全沿用原本的品牌渠道。 換句話說,2020 年到 2022 年銷售的電動 Mini,將會是英國製造,而 2022 年後就會有中國製造版本開賣,考量到 Mini 在中國每年約有 30 萬輛的銷售額,同時油電版的 Coutryman 銷量更佔了全球將近五分之一,無怪乎 BMW 會想在最接近主要市場的地方蓋工廠囉。 外型完美復刻油車版 最後,簡單介紹一下 Mini Cooper SE 這台車。Mini 在電動化的路上,盡力保持著跟經典造型一致的設計,畢竟大家愛的就是它的設計。電動版的 Mini 車頭、車身跟車屁股都多了一個黃色的插頭標誌,車頭的氣壩則變成封閉式設計,除此之外,幾乎看不出來差別,連馬達...