自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

對(duì)話小米工程師:深度解析MIUI9快如閃電如何煉成

企業(yè)動(dòng)態(tài)
對(duì)于工程師來(lái)說(shuō),這個(gè)現(xiàn)象是有悖常理的。因?yàn)槭謾C(jī)的硬件配置,諸如CPU、內(nèi)存、GPU等不會(huì)隨著手機(jī)使用時(shí)間變長(zhǎng)出現(xiàn)過(guò)多損耗。另一方面,雖然每臺(tái)手機(jī)里安裝的APP有幾十上百個(gè),但最常用的也一般在10個(gè)以內(nèi),安卓手機(jī)的高配置是可以支撐這些應(yīng)用流暢運(yùn)行的。

   8月11日,小米開(kāi)始推送***批MIUI9開(kāi)發(fā)版適配機(jī)型,包括了小米6、小米5X、紅米Note 4X(高通版),這是小米發(fā)布全新一代MIUI系統(tǒng)后,小米手機(jī)系統(tǒng)升級(jí)的***步。在此之前,從7月27日開(kāi)始往后短短半個(gè)月時(shí)間,MIUI9內(nèi)測(cè)階段已經(jīng)有10萬(wàn)人通過(guò)刷機(jī)或OTA在線升級(jí)方式使用上MIUI9。

  在MIUI9發(fā)布后半個(gè)月時(shí)間里,翻看微博和知乎平臺(tái)上網(wǎng)友的評(píng)價(jià),這10萬(wàn)用上MIUI9的小米發(fā)燒友,對(duì)MIUI9打出的“快如閃電”體驗(yàn)給予了很正面的評(píng)價(jià),稱贊***一代MIUI系統(tǒng)“快得飛起”“快得不像安卓系統(tǒng)”。 

[[199880]]

  這種“快”是怎么練就的?7月26日發(fā)布會(huì)當(dāng)天由于時(shí)間有限PPT上只是一帶而過(guò),“應(yīng)用啟動(dòng)加速”、“動(dòng)態(tài)資源管控”、“內(nèi)存實(shí)時(shí)反碎片”等十幾個(gè)黑科技詞匯聽(tīng)起來(lái)不明覺(jué)厲,但似乎又不明所以。本周小編與我們工程師進(jìn)行了一場(chǎng)深度交流,深入研究MIUI9是如何“變快”的。

  安卓手機(jī)使用越久會(huì)越卡?看工程師怎么說(shuō)

  安卓手機(jī)使用時(shí)間越長(zhǎng),系統(tǒng)運(yùn)行速度會(huì)變慢,給普通用戶的感覺(jué)就是“卡頓”“不跟手”。同時(shí)使用iPhone和安卓手機(jī)的“雙槍黨”這種感受會(huì)更明顯一些。

  對(duì)于工程師來(lái)說(shuō),這個(gè)現(xiàn)象是有悖常理的。因?yàn)槭謾C(jī)的硬件配置,諸如CPU、內(nèi)存、GPU等不會(huì)隨著手機(jī)使用時(shí)間變長(zhǎng)出現(xiàn)過(guò)多損耗。另一方面,雖然每臺(tái)手機(jī)里安裝的APP有幾十上百個(gè),但最常用的也一般在10個(gè)以內(nèi),安卓手機(jī)的高配置是可以支撐這些應(yīng)用流暢運(yùn)行的。

  那么問(wèn)題出在哪里?工程師向我們介紹,很重要一個(gè)原因是安卓系統(tǒng)的開(kāi)放性,導(dǎo)致眾多APP在調(diào)用手機(jī)系統(tǒng)權(quán)限和資源時(shí)不克制乃至貪婪,甚至相互之間不斷交叉喚醒,發(fā)生CPU、GPU、I/O資源、網(wǎng)絡(luò)帶寬等資源不當(dāng)占用,該快的時(shí)候不快,發(fā)生卡頓。

  作為手機(jī)操作系統(tǒng),過(guò)去四年時(shí)間,MIUI一直在做這方面的管束。比如2013年MIUI V5推出對(duì)齊喚醒,把多次不間斷喚醒管控為集中式喚醒;2015年MIUI7推出增強(qiáng)版對(duì)齊喚醒,續(xù)航時(shí)間比上一代MIUI6延長(zhǎng)了25%。今年MIUI9,在資源管控方面可謂下了“重典”,重點(diǎn)分配資源給當(dāng)前正在使用的APP,約束其他非活躍應(yīng)用。同步實(shí)施的還有文件系統(tǒng)的升級(jí),內(nèi)存實(shí)時(shí)反碎片技術(shù),核心組件擁塞控制機(jī)制,等等。出來(lái)的效果就是影響手機(jī)體驗(yàn)的核心幾十項(xiàng)問(wèn)題里,通過(guò)逐步克服優(yōu)化,讓手機(jī)的流暢體驗(yàn)發(fā)生了質(zhì)變。接下來(lái),在小米工程師的科普下,筆者帶大家來(lái)深入了解這些背后的黑科技。

  用來(lái)武裝MIUI9的12項(xiàng)黑科技,“黑”在哪里?

  根據(jù)小米的說(shuō)法,MIUI9共采用了12項(xiàng)黑科技,來(lái)打造“快如閃電”的系統(tǒng)。它們分別是:應(yīng)用啟動(dòng)加速,動(dòng)態(tài)資源分配,關(guān)鍵場(chǎng)景響應(yīng)加速,核心組件擁塞控制,持續(xù)自動(dòng)清理,全新文件系統(tǒng),文件系統(tǒng)緩存管理,內(nèi)存實(shí)時(shí)反碎片,異常排除機(jī)制,提高通訊效率,無(wú)線數(shù)據(jù)包加速,深度復(fù)蘇。由于文章篇幅有限,下面重點(diǎn)介紹其中5項(xiàng)黑科技技術(shù)。

  1、動(dòng)態(tài)資源分配

  動(dòng)態(tài)資源分配技術(shù),表面上是手機(jī)系統(tǒng)對(duì)于各種資源如CPU資源、內(nèi)存資源、I/O資源、網(wǎng)絡(luò)帶寬資源的合理分配,實(shí)際上背后需要非常龐大的數(shù)據(jù)支撐才能讓各種系統(tǒng)資源合理分配。簡(jiǎn)單來(lái)講,MIUI9系統(tǒng)大幅提高當(dāng)前應(yīng)用在資源分配中的權(quán)重,對(duì)高優(yōu)先級(jí)應(yīng)用進(jìn)行了更細(xì)致區(qū)分。

  其實(shí)安卓原生系統(tǒng)很早就設(shè)置了“前臺(tái)應(yīng)用”“后臺(tái)應(yīng)用”兩個(gè)調(diào)度組,來(lái)管控資源分配。MIUI9更進(jìn)一步,把介于前臺(tái)、后臺(tái)之間的應(yīng)用行為比如通知欄應(yīng)用放到第三個(gè)組,如果前臺(tái)應(yīng)用(即當(dāng)前正在使用的應(yīng)用)運(yùn)行資源不足,會(huì)擠壓“第三組應(yīng)用”調(diào)用系統(tǒng)資源的份額,確保當(dāng)前應(yīng)用流暢運(yùn)行。這個(gè)過(guò)程就像一個(gè)家長(zhǎng)管理孩子們對(duì)零食、書(shū)籍、玩具……需求一樣,不能無(wú)盡應(yīng)允,也不能隨時(shí)隨地應(yīng)允,必須加以合理管控和引導(dǎo)才能教出一個(gè)“好孩子”。

[[199881]]

  2、全新文件系統(tǒng)

  MIUI9采用了與***一代Android O系統(tǒng)相同的SDcardfs文件系統(tǒng),這是安卓系統(tǒng)未來(lái)的發(fā)展方向。

  在此之前,原生Android為了讓各個(gè)應(yīng)用之間數(shù)據(jù)隔離,讓A應(yīng)用沒(méi)法讀取B應(yīng)用數(shù)據(jù),在系統(tǒng)中增加了一個(gè)叫“Fuse”的虛擬文件系統(tǒng),當(dāng)應(yīng)用需要讀寫(xiě)虛擬SD卡中的數(shù)據(jù)時(shí),必須經(jīng)過(guò)Fuse空間才可以傳送到系統(tǒng)底層EXT4空間,然后系統(tǒng)底層和Fuse虛擬空間會(huì)進(jìn)行多次往返的數(shù)據(jù)傳送,最終再傳送給系統(tǒng)前端,實(shí)現(xiàn)一個(gè)完整的操作閉環(huán)(在實(shí)際操作手機(jī)的體驗(yàn)中,這個(gè)過(guò)程是毫秒級(jí)的)。

  因?yàn)?ldquo;Fuse”虛擬文件系統(tǒng)和“EXT4”底層之間頻繁的數(shù)據(jù)讀寫(xiě)會(huì)對(duì)應(yīng)用啟動(dòng)速度產(chǎn)生影響。根據(jù)Google在Pixel上的測(cè)試數(shù)據(jù),通過(guò)“Fuse”虛擬文件系統(tǒng)隨機(jī)寫(xiě)的速度損耗達(dá)30%-50%,而SDcardfs損耗則可以控制在5%以內(nèi),另外“Fuse”隨機(jī)讀取數(shù)據(jù)的速度損耗達(dá)到90%以上,SDcardfs可以控制在20%以內(nèi)。這正是這種巨大的讀寫(xiě)速度提升,最終呈現(xiàn)給用戶的是App應(yīng)用相應(yīng)速度的大幅提升。

  MIUI 9系統(tǒng)采用全新的SDcardfs文件系統(tǒng)后——這是***一代Android O/Android 8.0采用的技術(shù),代表著安卓系統(tǒng)未來(lái)的發(fā)展方向——應(yīng)用啟動(dòng)速度有明顯的提升。比如在小米內(nèi)部測(cè)試中,游戲《陰陽(yáng)師》在小米6上的啟動(dòng)速度由9秒迅速縮減至5秒左右,效果非常明顯。

  3、內(nèi)存實(shí)時(shí)反碎片

  內(nèi)存實(shí)時(shí)反碎片也是MIUI9一項(xiàng)黑科技。那么什么是手機(jī)的內(nèi)存碎片?舉一個(gè)通俗的例子:如果我們把手機(jī)內(nèi)存看作一個(gè)記事本,數(shù)據(jù)讀寫(xiě)看作在本子上寫(xiě)入內(nèi)容。隨著手機(jī)啟動(dòng),各種應(yīng)用以及系統(tǒng)數(shù)據(jù)會(huì)不斷寫(xiě)入內(nèi)存中,這時(shí)候會(huì)出現(xiàn)記事本上某一頁(yè)紙上沒(méi)有寫(xiě)入內(nèi)容(“一頁(yè)紙”在內(nèi)存中的單位是4kb),而前后兩頁(yè)均被使用的情況,這時(shí)我們可以把這頁(yè)沒(méi)有使用的“紙張”看作一個(gè)內(nèi)存碎片——對(duì)于一臺(tái)4GB運(yùn)行內(nèi)存(RAM)的手機(jī)來(lái)說(shuō),這類碎片可能是幾千個(gè)。

  隨著手機(jī)使用時(shí)間增長(zhǎng),手機(jī)內(nèi)存中有可能會(huì)出現(xiàn)大量不連續(xù)的內(nèi)存碎片,當(dāng)有些數(shù)據(jù)的讀寫(xiě)需要使用連續(xù)內(nèi)存頁(yè)時(shí),雖然手機(jī)此時(shí)還有內(nèi)存,但由于它是不連續(xù)的,從而導(dǎo)致應(yīng)用數(shù)據(jù)無(wú)法讀寫(xiě)。針對(duì)這個(gè)狀況,安卓原生系統(tǒng)其實(shí)做了不少工作,它通過(guò)內(nèi)存回收的方式“騰出”可以滿足當(dāng)前需求的連續(xù)內(nèi)存頁(yè)。

  但遇到多任務(wù)切換或系統(tǒng)資源調(diào)用時(shí),剛騰出來(lái)的A內(nèi)存,如果此時(shí)你去做B操作,A內(nèi)存數(shù)據(jù)已經(jīng)被回收了;當(dāng)你從B操作切回到A時(shí),系統(tǒng)需要重新去找滿足A的連續(xù)內(nèi)存頁(yè)并寫(xiě)入數(shù)據(jù)……如此反復(fù)倒騰,會(huì)加速了手機(jī)I/O硬件損耗,并且對(duì)系統(tǒng)流暢性大打折扣。

  MIUI 9采用內(nèi)存實(shí)時(shí)反碎片技術(shù),通過(guò)復(fù)雜的算法來(lái)判斷內(nèi)存碎片是否可以被移動(dòng)和整理,***程度保證系統(tǒng)內(nèi)存的實(shí)時(shí)連續(xù)性,以應(yīng)對(duì)隨時(shí)可能出現(xiàn)的連續(xù)內(nèi)存數(shù)據(jù)讀寫(xiě)需求,從而減少因?yàn)閮?nèi)存的不連續(xù)性導(dǎo)致的頻繁回收和重寫(xiě),讓系統(tǒng)的內(nèi)存讀寫(xiě)時(shí)刻處于***狀態(tài),實(shí)現(xiàn)流暢運(yùn)行。

  4、文件系統(tǒng)緩存管理

  和內(nèi)存實(shí)時(shí)反碎片功能有所關(guān)聯(lián)的是文件系統(tǒng)緩存管理技術(shù)。在手機(jī)打開(kāi)存儲(chǔ)空間里的一個(gè)視頻或者圖片時(shí),手機(jī)系統(tǒng)需要先將文件數(shù)據(jù)寫(xiě)入系統(tǒng)內(nèi)存,再通過(guò)讀取系統(tǒng)內(nèi)存數(shù)據(jù)將文件展示到用戶眼前。

  前面我們提到了當(dāng)系統(tǒng)連續(xù)內(nèi)存數(shù)據(jù)不滿足當(dāng)前操作所需時(shí),會(huì)進(jìn)行內(nèi)存回收釋放,這就可能導(dǎo)致部分熱點(diǎn)文件的數(shù)據(jù)被頻繁的回收和讀取。

  MIUI9文件系統(tǒng)緩存管理就是通過(guò)系統(tǒng)算法判斷熱點(diǎn)文件所使用的系統(tǒng)緩存,對(duì)它們加以保護(hù),防止出現(xiàn)因?yàn)閮?nèi)存回收導(dǎo)致的數(shù)據(jù)反復(fù)讀取現(xiàn)象。

  5、核心組件擁塞控制

  由于文章篇幅所限,***再向大家介紹一個(gè)MIUI9黑科技——核心組件擁塞控制。

  一般來(lái)講,手機(jī)系統(tǒng)核心組件包括“廣播”、“服務(wù)”、“界面”和“讀取數(shù)據(jù)庫(kù)”四大組件,每一個(gè)應(yīng)用都包含了這四個(gè)組件。例如高德地圖的發(fā)push消息(廣播),在導(dǎo)航時(shí)告訴手機(jī)系統(tǒng)不要熄屏(服務(wù)),APP的操作界面(界面),在多任務(wù)后臺(tái)停留(讀取數(shù)據(jù)庫(kù))等等行為,都是通過(guò)“組件”來(lái)實(shí)現(xiàn)的??梢哉f(shuō)所有APP在手機(jī)里的存在,都是表現(xiàn)為“組件的行為”。

  不同APP組件之間存在資源的競(jìng)爭(zhēng)關(guān)系,比如各個(gè)應(yīng)用都需要讀取數(shù)據(jù)庫(kù),但系統(tǒng)一次只會(huì)允許一個(gè)應(yīng)用的系統(tǒng)組件讀取,其他應(yīng)用的“組件行為”就需要排隊(duì)等候。

  為了能夠讓自己的系統(tǒng)組件得到快速響應(yīng),某些應(yīng)用會(huì)采取一些非常規(guī)手段進(jìn)行插隊(duì),這就可能導(dǎo)致其他應(yīng)用的組件需求無(wú)法得到及時(shí)滿足,從而導(dǎo)致系統(tǒng)出現(xiàn)卡頓、耗電等情況。

  對(duì)此MIUI 9引入核心組件擁塞控制技術(shù),當(dāng)發(fā)現(xiàn)一些非常規(guī)組件頻繁發(fā)起響應(yīng)請(qǐng)求,長(zhǎng)時(shí)間占用CPU、內(nèi)存等硬件資源時(shí),系統(tǒng)會(huì)對(duì)其行為進(jìn)行判斷,如果不是緊急需求,便會(huì)降低該應(yīng)用的優(yōu)先權(quán),比如限制其***可用CPU資源,從而保證其他的系統(tǒng)組件獲得足夠的硬件資源支持。

  當(dāng)然,除了上面筆者所講到的幾項(xiàng)黑科技技術(shù),MIUI 9還采用了關(guān)鍵場(chǎng)景響應(yīng)加速、持續(xù)自動(dòng)清理、異常排除機(jī)制、無(wú)線數(shù)據(jù)包加速等等黑科技,這里就不一一展開(kāi)了,下次有機(jī)會(huì)再找小米工程師來(lái)進(jìn)行科普??傊谶@些黑科技加持下,小米有底氣喊出“MIUI9快如閃電”的口號(hào),并最終得到米粉和媒體的認(rèn)可。

  死磕“快體驗(yàn)”,MIUI9升級(jí)計(jì)劃按批次有序推進(jìn)

  快如閃電的MIUI9還在路上。

  根據(jù)發(fā)布會(huì)公布的官方消息,MIUI9開(kāi)發(fā)版對(duì)小米機(jī)型的適配,分為3個(gè)批次,***批分別甄選了一個(gè)小米機(jī)型(小米6)和一個(gè)紅米機(jī)型(紅米Note4X高通版),及一部新手機(jī)(小米5X)。第二批為小米MIX、小米Note 2、小米5系列等熱門(mén)機(jī)型,第三批為眾多紅米和紅米Note系列機(jī)型。MIUI9穩(wěn)定版升級(jí)計(jì)劃以MIUI論壇公告和MIUI官方微博/微信為準(zhǔn)。

  從機(jī)型適配的數(shù)量來(lái)看,MIUI9不亞于以往版本,甚至對(duì)于米粉期望比較低的小米2/2S都進(jìn)行了適配。不過(guò)工程師告訴我們,下一代MIUI系統(tǒng)適配小米機(jī)型的數(shù)量肯定會(huì)減少,原計(jì)劃中小米2/2S是不在適配序列的。并且將來(lái)為了確保每個(gè)機(jī)型更爽快的系統(tǒng)體驗(yàn),還在討論以“24個(gè)月”為標(biāo)準(zhǔn)規(guī)劃MIUI新版本的升級(jí)適配工作。

  據(jù)小米工程師介紹,今年的適配計(jì)劃確實(shí)與往年不太一樣。以往MIUI新版本發(fā)布,是摧枯拉朽式的對(duì)齊發(fā)布,快速升級(jí),快速普及。今年MIUI9穩(wěn)扎穩(wěn)打,主攻品質(zhì),主攻“快如閃電”,先在部分機(jī)型上驗(yàn)證成功模式,再?gòu)?fù)制到其他機(jī)型上,確實(shí)需要一個(gè)過(guò)程。據(jù)稱2017年結(jié)束前工程師將會(huì)集中精力有序推進(jìn)MIUI9對(duì)小米機(jī)型的適配工作。所謂“魚(yú)與熊掌不可兼得”,期待早日用上MIUI9的米粉要耐心等待咯。

[[199883]]

  現(xiàn)在MIUI 9首批內(nèi)測(cè)已經(jīng)結(jié)束,8月11日也是MIUI9***批開(kāi)發(fā)版發(fā)布時(shí)間,小米6、小米5X、紅米Note 4X已經(jīng)可以正式升級(jí)MIUI9開(kāi)發(fā)版。從過(guò)去一段時(shí)間來(lái)看,10萬(wàn)米粉和主流媒體都給予了MIUI9高度評(píng)價(jià),認(rèn)可它的快如閃電。認(rèn)可了發(fā)布會(huì)上MIUI負(fù)責(zé)人洪鋒所提的“MIUI 9也許是最快的安卓系統(tǒng)”的說(shuō)法。

  隨著MIUI 9的不斷適配升級(jí),將會(huì)有更多人體驗(yàn)到全新MIUI系統(tǒng)帶來(lái)的流暢體驗(yàn)。筆者也希望看到更多手機(jī)廠商在操作系統(tǒng)的基礎(chǔ)體驗(yàn)上更加用心和負(fù)責(zé),讓國(guó)產(chǎn)手機(jī)的操作體驗(yàn)再上新臺(tái)階。

責(zé)任編輯:張誠(chéng) 來(lái)源: 51CTO
相關(guān)推薦

2017-08-11 17:59:04

小米MIUIMIUI9

2017-08-25 09:44:12

miui小米MIUI

2014-08-22 14:18:39

MIUI 6

2024-08-19 08:54:02

2017-07-28 15:57:57

小米

2017-07-25 11:31:24

互聯(lián)網(wǎng)

2024-01-26 06:15:44

PythonCPython技巧

2017-08-25 09:22:18

miui小米MIUI

2019-09-09 16:30:42

Redis架構(gòu)數(shù)據(jù)庫(kù)

2017-08-01 10:02:42

小米MIUIMIUI9

2020-05-21 21:36:54

Windows 10Windows 7Windows

2017-09-08 19:26:26

小米MIUImiui

2017-07-25 17:17:06

小米MIUI

2017-05-04 11:51:13

miui小米MIUI

2017-08-08 09:46:53

小米MIUIMIUI9

2017-10-13 13:43:23

miui小米MIUI

2017-08-29 16:25:21

數(shù)據(jù)庫(kù)GPU數(shù)據(jù)存儲(chǔ)

2019-06-17 08:57:13

優(yōu)秀工程師技術(shù)程序員

2014-07-11 10:09:30

2016-12-07 08:36:58

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)