看Google如何給Android 4.4瘦身
在最新版的 Android 4.4 系統(tǒng)里,Google 不僅維持了面向用戶的高質(zhì)量設(shè)計(jì)和功能,還在系統(tǒng)層面給 Android KitKat 進(jìn)行了瘦身,這是如何做到的?
Google 相信,Android 已經(jīng)能和其它操作系統(tǒng)的性能平起平坐了(你懂的,Google 指的是 iOS),所以現(xiàn)在的首要任務(wù)并不是增重,而是減肥,這就要從 Android 的“減肥計(jì)劃”(Project Svelte)說(shuō)起。Project Svelte 是為減去 Android 系統(tǒng)的冗余之處而展開的,工程師們希望 KitKat 可以支持所有最新的手機(jī)硬件功能,同時(shí)使 Android 的設(shè)計(jì)在任何制造商的任何設(shè)備上都可以良好運(yùn)轉(zhuǎn)。KitKat 可以在最小 512 MB 的 RAM 中運(yùn)行,同時(shí)支持新的低端 Android 機(jī),以確保這些 Android 手機(jī)不必再使用2.3版的Gingerbread而導(dǎo)致Android系統(tǒng)碎片化。
這是如何做到的呢?一切要從 Nexus 4 說(shuō)起。“Project Svelte 的目標(biāo)就是砍掉內(nèi)存占用讓它可以支持 512M RAM,為了做到這一點(diǎn),我們拿來(lái)了一臺(tái) Nexus 4,然后讓它可以以 512M 運(yùn)轉(zhuǎn)。”Burke 說(shuō)。而下一步,就是讓 KitKat 只占用兩個(gè)處理器而非四個(gè),同時(shí)以更低分辨率運(yùn)行在 Nexus 4s 上。Burke 說(shuō):“我們將分辨率調(diào)整到了 960×540,因?yàn)檫@對(duì)入門級(jí)智能手機(jī)是最友好的。”
所以配置好 Nexus 4 之后,Google 的主要任務(wù)就變成了如下四點(diǎn):
- 減少系統(tǒng)的內(nèi)存占用
- 減少在 Google 設(shè)備上運(yùn)行的 app 的內(nèi)存占用
- 修復(fù)內(nèi)存不足情況下 app 的表現(xiàn),不再出現(xiàn)崩潰情況
- 為 app 的內(nèi)存占用情況提供更好的測(cè)量方式,讓開發(fā)者可以了解自己的 app 的內(nèi)存占用
而這次改進(jìn)的最后一點(diǎn)則是開發(fā)者模式中的 ProcStats(process stats,進(jìn)程情況),Burke 解釋了這是如何運(yùn)作的:在開發(fā)者模式中,開發(fā)者會(huì)看到系統(tǒng)中不同的 app 和服務(wù),他們運(yùn)行的頻次是多少,他們后臺(tái)運(yùn)轉(zhuǎn)時(shí)會(huì)占用多少 RAM,因此你會(huì)發(fā)現(xiàn)是不是有很多在后臺(tái)運(yùn)行的 app 在浪費(fèi)大量的空間,從而將它們關(guān)閉。
最終,KitKat 成為了 Google 的一個(gè)新的開始。