【好訊息】Android 8.0系統改進:告別卡、慢、耗電
一直以來人們都有這樣的印象,認為搭載iOS系統的iPhone一定比搭載Android系統的安卓手機流暢。潛移默化中,不少果粉甚至是普通吃瓜群眾都形成了這樣的思維定式:安卓就是卡、慢的代名詞。然而,就是這樣一個群眾眼中的“卡、慢”的系統,不知不覺間已經走過了第十個年頭。這麼多年過去了這個觀點還成立嗎?
Android 8.0不久前已經發布了,儘管Android對比iOS似乎有“先天缺陷”,但一直以來谷歌都在不遺餘力地提升安卓系統的流暢度。我們不妨來看看谷歌在這方面都做了哪些努力。
Android 4.1:黃油計劃
2012年6月,Google I/O 2012開發者大會上,谷歌釋出了Android 4.1,該版本擔負著“承上啟下”的作用,4.1系統繼承了4.0的基本特性,又加入了Project Butter的新特性。
Project Butter中文稱為黃油計劃,Google希望新版的Android如黃油一般絲般潤滑,所以稱之為黃油。該系統使用了新的處理架構,讓Android裝置中的雙核、四核處理器能夠得到優化,發揮出強勁的效能。
其次,在4.1版本中,特效動畫的幀速提高至60fps,優化最佳效能和較低的觸控延遲,提供了一個流暢、直觀的使用者介面。
為了確保幀速一致,4.1版本的Android框架所有的繪圖和動畫都將統一VSYNC計時,應用渲染、觸控事件、畫面構圖、顯示重新整理等操作都會鎖定在16毫秒響應,所有的幀都沒有提前或者落後。
此外,還新增三重影像緩衝技術,讓所有的渲染感覺更順暢。觸控延時不僅會遵循VSYNC計時,還會在觸控操作時做出預判是否要提前渲染,此外在CPU閒置時會分配更多的處理能力來應對觸控事件,確保觸控沒有延遲。
黃油專案(Project Butter)為我們帶來了Android系統的重大改進,谷歌終於開始直面Android系統流暢度這個古老並重要的問題了。
Android 4.4:對齊喚醒
其實,很多時候,安卓系統的卡頓並不是由系統本身造成的,而是由於安卓開放的特性例如對第三方APP限制較少,所以很多APP長期惡意在後臺執行,定期喚醒系統,隨著安裝的APP越來越多,各種APP會一窩蜂地喚醒系統,而每次喚醒都會讓CPU處於高負荷運轉狀態,導致手機待機時也非常耗電。
而4.4版本很明顯的針對這個問題而做出了優化,在該版本中加入了對齊喚醒功能,把原來需要分別在不同時間喚醒系統的多個APP集中在某個時間一次性喚醒。這樣,系統被喚醒的次數大幅減少,CPU也不用頻繁的工作,手機也就不會這麼卡頓和耗電了。
Android 5.0:ART虛擬機器
一直以來,Dalvik虛擬機器揹負著Android應用卡頓的罪名,原因則是應用在執行的過程中,虛擬機器Dalvik通過一個叫JIT(Just-in-time)的直譯器動態的進行編譯並執行,這一過程也拖慢了執行效率。而在5.0版本中,原有的Dalvik虛擬機器被新的ART虛擬機器代替。
Android Runtime(縮寫為 ART),是一種在Android作業系統上的執行環境,由Google公司研發。ART能夠把應用程式的位元組碼轉換為機器碼,是Android所使用的一種新的虛擬機器。它與Dalvik的主要不同在於:Dalvik採用的是JIT技術,而ART採用Ahead-of-time(AOT)技術,也就是預編譯技術,安裝應用的時候,程式碼中的位元組碼將被編譯成機器碼。
而由於有了機器碼,下次開啟的時候就不需要再編譯了,這就提高了執行效率,APP啟動速度明顯加快。ART同時也改善了效能、垃圾回收(Garbage Collection)、提高續航能力、應用程式除錯以及效能分析。
Android 6.0:Doze嗜睡模式
4.4的對齊喚醒已經對後臺APP做出了一定限制,但是顯然對於那些“毒瘤APP”顯然是不夠的,為了杜絕“毒瘤”APP不斷在後臺消耗資源和電量,6.0版本加入了Doze嗜睡模式,在Doze模式中,系統嘗試去通過減少應用的網路訪問和CPU敏感的服務來保護電池。它也阻止應用通過訪問網路,並且延緩應用的任務、同步和標準alarms。
同時系統定期退出Doze模式(maintenance window)去讓app完成他們被延緩的動作。在maintenance window期間,系統執行所有掛起的同步、任務和alarms,同時也能訪問網路。只要使用者通過移動、點亮螢幕或則插上充電器喚醒裝置的時候,系統會退出Doze模式,所有的APP退回到正常活動狀態。
Android 7.0:優化系統程式碼
如果說前幾代Android是在改善應用環境,提升應用體驗的話,那麼7.0版本就是優化Android的執行環境了,谷歌表示,7.0版本會是最具銷量的一代Android作業系統,7.0版本主要通過減少程式碼的形式來提升執行速度,Android N的程式碼減少了50%,新的程式碼減少50%,軟體執行速度提升幅度達到600%,應用安裝提速75%。
自從Android5.0換了ART虛擬機器開始,因為安裝時要對大量的程式碼進行預編譯,應用安裝速度一直被使用者詬病,Google終於在Android7.0上解決了這一問題。
此外,7.0版本另一個優化是,每次手機升級完系統之後不用等待漫長的應用優化過程,直接就可以進入系統。
Android 8.0:針對低配裝置的Android Go,系統/應用啟動優化
8.0相對前幾個版本而言,沒有特別大的提升,畢竟Android已經第十個年頭了,發展已經非常的成熟。8.0版本主要是細節的優化和體驗的提升。
8.0版本加入了TensorFlow Lite技術,可以幫助低功耗裝置跟上當今高強度任務處理,利用新的神經網路API幫助底層晶片加速資料處理。這一功能有助於為下一代線上裝置提高語音處理,視覺搜尋,擴增實境等能力。簡而言之,就是一個內建在系統的機器學習工具。
同時,8.0版本還針對應用啟動的程式進行優化,包括併發程式、壓縮收集的垃圾資訊和程式碼區域等。此外還有針對後臺服務的限制,防止應用程式在後臺執行太久。目標是大大減少電池消耗。
另外,針對配置較低的移動裝置,谷歌還推出了Android Go的系統,它不是一個獨立分支的Android版本,而是隸屬於Android O,可以用於1GB RAM的裝置上,例如為了節省效能,原來系統中吃記憶體的過渡動畫被砍掉,同時還針對Android Go開發適配版應用,比如Youtube Go。
如果你認為這個系統只是做減法,那你就錯了,在有些方面,谷歌甚至還為Android Go新增了功能,比如資料管理,這個對低端機來說十分重要,谷歌會將這個功能新增到快捷設定中。該系統預計2018年正式面世。
如今iOS 11也已經發布了,從某些更新內容來看,是對安卓功能的“借鑑”。所以安卓系統在功能性或者可玩性上甚至超過了iOS。由於底層系統的先天不足,導致流暢性在早期落後iOS很多,但隨著谷歌孜孜不倦地優化與更新,Android在流暢性方面真的未必輸於iOS,卡頓、慢和耗電已經逐漸成為歷史。所以,已經存在大家腦海中10年的安卓“卡、慢、耗電”的標籤,是時候該抹去了。
相關文章
- meteor 安裝 android sdk慢的改進方法Android
- [Android進階]Android訊息機制Android
- 深入淺出Android訊息系統之一Android
- 許多卡 - 告別實體會員卡 #iOS #AndroidiOSAndroid
- Android透過接收UDP訊息改寫程式配置AndroidUDP
- 別寫秒殺系統了,我告訴你訊息管理平臺實現原理吧
- Kafka 分散式訊息系統Kafka分散式
- 訊息通知系統記錄
- 訊息推送系統架構架構
- 分散式訊息系統:Kafka分散式Kafka
- RocketMQ 訊息整合:多型別業務訊息-普通訊息MQ多型型別
- Android進階;Handler訊息機制詳解Android
- 需求改進&系統設計
- RocketMQ 訊息整合:多型別業務訊息——定時訊息MQ多型型別
- 常見開源訊息系統
- Apache Kafka分散式訊息系統ApacheKafka分散式
- 分散式訊息系統Kafka初步分散式Kafka
- win10電腦重置系統和重灌系統的區別 電腦重置和重灌系統哪個好?Win10
- 分散式系統訊息中介軟體——RabbitMQ的使用進階篇分散式MQ
- Android訊息機制Message訊息池Android
- ?好訊息!Android 模擬器可以執行 ARM 應用了Android
- 好訊息,fish 3.0.0 釋出
- 需求改進與系統設計
- 電影票務管理系統改進
- Android應用耗電分析隨筆Android
- 好訊息!微軟已將Windows子系統轉為win11應用程式微軟Windows
- 高吞吐量訊息系統—kafkaKafka
- 訊息通知(Notification)系統最佳化
- Android訊息傳遞之Handler訊息機制Android
- Android 修改系統息屏時間.Android
- 新特性解讀 | MySQL 8.0 對 UNION 的改進MySql
- Android訊息迴圈Android
- 好訊息!PostgreSQL 13增加新功能!SQL
- Android 後臺耗電分析及優化Android優化
- 訂單管理系統分析及改進
- Android訊息傳遞之元件間傳遞訊息Android元件
- 【實戰教程】微信卡券訊息處理
- 釋出於訂閱訊息系統-KafkaKafka