您的位置: 首頁(yè) >科技 >

包括比平均安裝AndroidOreo減少50%的存儲(chǔ)空間

2022-09-14 07:29:31 編輯:杭才嘉 來(lái)源:
導(dǎo)讀 Android Go是Google基于Android 8.1 Oreo 精簡(jiǎn)版的Android ,旨在成為具有1GB或更低RAM的低端設(shè)備的Android優(yōu)化版本。它于去年5月在Go...

Android Go是Google基于Android 8.1 Oreo 精簡(jiǎn)版的Android ,旨在成為具有1GB或更低RAM的低端設(shè)備的Android優(yōu)化版本。它于去年5月在Google I / O開(kāi)發(fā)者大會(huì)上宣布, 最終更多細(xì)節(jié)在同年12月下旬公布。據(jù)說(shuō)它將用于下一代入門(mén)級(jí)設(shè)備,以確保發(fā)展中的設(shè)備仍可以使用功能正常的智能手機(jī)來(lái)訪問(wèn)互聯(lián)網(wǎng)并使用應(yīng)用程序。

Go進(jìn)行了多種性能優(yōu)化和改進(jìn),包括比平均安裝Android Oreo減少50%的存儲(chǔ)空間。還要借助Android Runtime(ART)和內(nèi)核優(yōu)化,運(yùn)行Android Go的設(shè)備的平均運(yùn)行速度比在同一設(shè)備上安裝常規(guī)Android Oreo的設(shè)備快15%。這些優(yōu)化是通過(guò)Google進(jìn)行的一系列專(zhuān)門(mén)的構(gòu)建配置進(jìn)行的,我們將在后面進(jìn)行解釋。

Android Go還得益于特殊的“ Go”應(yīng)用程序,例如 Files Go,YouTube Go和Google Maps Go。這些是Google制作的應(yīng)用程序的輕量級(jí)版本,它們降低了運(yùn)行效率的要求。這意味著使用Android Go設(shè)備的用戶(hù)可以享受與常規(guī)Android Oreo用戶(hù)相同的大多數(shù)好處,從而可以利用Google的應(yīng)用程序套件,而不必花很多錢(qián)在旗艦設(shè)備上或價(jià)格稍貴的預(yù)算設(shè)備上。

一切都與Google擴(kuò)大其市場(chǎng)有關(guān)。但這引出了一個(gè)問(wèn)題,即如果Android Go主要由構(gòu)建配置和一組優(yōu)化的Google應(yīng)用組成,那么開(kāi)發(fā)人員可以自行構(gòu)建Android Go嗎?簡(jiǎn)而言之,是的,我們可以。

少數(shù)LineageOS開(kāi)發(fā)人員已經(jīng)在構(gòu)建Android Go優(yōu)化的自定義ROM

我們已經(jīng)看到一些定制的ROM開(kāi)發(fā)人員(例如XDA公認(rèn)的開(kāi)發(fā)人員AdrianDC)正在使用Android Go,他在LineageOS 15.1上的工作采用了Android Go構(gòu)建配置,該配置可用于 幾臺(tái)舊的Sony手機(jī)。有問(wèn)題的設(shè)備是Sony Xperia SP,Sony Xperia T,Sony Xperia V和Sony Xperia TX。這些設(shè)備的歷史可以追溯到2012年和2013年,但它們將使用Android Go構(gòu)建配置接收基于Android 8.1 Oreo的LineageOS 15.1,如果設(shè)置了Android Go,則可能允許這些設(shè)備流暢地運(yùn)行Google'Go'應(yīng)用Gapps最終被釋放。

任何獨(dú)立的LOS維護(hù)人員都應(yīng)該能夠引入Android Go配置的構(gòu)建,并將其作為一組構(gòu)建配置和其他優(yōu)化。這意味著,例如那些可能購(gòu)買(mǎi)了Sony Xperia T(在啟動(dòng)時(shí)運(yùn)行Android 4.0.4 Ice Cream Sandwich)的設(shè)備的人,將能夠在設(shè)備上使用經(jīng)過(guò)優(yōu)化的Android 8.1 Oreo版本YouTube Go和Google Maps Go等應(yīng)用程序。它不會(huì)在旗艦級(jí)性能上運(yùn)行,但應(yīng)該可以使用 -特別是對(duì)于可追溯到2012年的設(shè)備。

Android Go如何幫助較舊的Android手機(jī)運(yùn)行Android Oreo

Android上的構(gòu)建配置是一組參數(shù),這些參數(shù)與Android系統(tǒng)的各個(gè)方面有關(guān),這些參數(shù)在編譯系統(tǒng)映像以刷新到設(shè)備上時(shí)適用。通常,這些更改會(huì)更改系統(tǒng)的行為方式,Android Go的主要優(yōu)化來(lái)自這些構(gòu)建配置。

我與XDA公認(rèn)的開(kāi)發(fā)人員joshuous進(jìn)行了交談,他幫助我極大地了解了正在發(fā)生的更改-真正使Android Go正常工作的原因。這些構(gòu)建配置中有一些無(wú)法重新編譯就無(wú)法更改,它們是ROM自身藍(lán)圖的一部分。這些是完全大寫(xiě)的標(biāo)志。

但是,所有這些標(biāo)志都與Android有關(guān)存儲(chǔ)和內(nèi)存使用的許多不同方面有關(guān)。這些措施包括 自動(dòng)存儲(chǔ)管理,Android的低內(nèi)存殺手,地塞米松(d奧爾維克前 ecutable文件)正在運(yùn)行的應(yīng)用優(yōu)化和RAM的限制。APK文件由這些DEX文件組成,因此從某種意義上講,可以將APK文件簡(jiǎn)單地看作是包含許多.dex文件的ZIP文件,這實(shí)際上是Android在執(zhí)行應(yīng)用程序時(shí)運(yùn)行的文件。自動(dòng)存儲(chǔ)管理將由Files Go應(yīng)用程序而不是Android系統(tǒng)控制。

Android Go實(shí)用程序Android的低內(nèi)存模式

在Android 4.4 KitKat中,Google引入了一個(gè)名為“ low-ram ” 的新標(biāo)志,旨在支持具有512MB RAM的設(shè)備。它對(duì)系統(tǒng)進(jìn)行了許多優(yōu)化。這些更改對(duì)于降低RAM的設(shè)備非常有益。

改進(jìn)的內(nèi)存管理

經(jīng)過(guò)驗(yàn)證的節(jié)省內(nèi)存的內(nèi)核配置:交換到ZRAM。

如果即將取消緩存并且太大,則殺死已緩存的進(jìn)程。

不允許大型服務(wù)將自己放回A服務(wù)中(這樣它們就不會(huì)導(dǎo)致啟動(dòng)器被殺死)。

殺死閑置維護(hù)過(guò)大的進(jìn)程(甚至是當(dāng)前IME之類(lèi)的不可殺死的進(jìn)程)。

序列化后臺(tái)服務(wù)的啟動(dòng)。

調(diào)整低RAM設(shè)備的內(nèi)存使用:更嚴(yán)格的內(nèi)存不足(OOM)調(diào)整級(jí)別,較小的圖形緩存等。

上面的這些更改基本上確保了系統(tǒng)通過(guò)使用ZRAM來(lái)確保盡可能使用壓縮RAM。ZRAM基本上是一個(gè)RAMdisk(使用RAM的存儲(chǔ)介質(zhì),比在設(shè)備上使用常規(guī)存儲(chǔ)要快得多)作為交換文件。當(dāng)RAM使用率很高且應(yīng)用程序仍需要內(nèi)存時(shí),將使用交換文件。這比RAM慢得多,并且應(yīng)盡可能避免。本質(zhì)上,它只是壓縮內(nèi)存的內(nèi)容。

減少系統(tǒng)內(nèi)存

修剪了system_server和SystemUI進(jìn)程(節(jié)省了幾個(gè)MB)。

在Dalvik中預(yù)加載dex緩存(保存了幾MB)。

經(jīng)過(guò)驗(yàn)證的JIT-off選項(xiàng)(每個(gè)進(jìn)程最多節(jié)省1.5MB)。

減少了每個(gè)進(jìn)程的字體緩存開(kāi)銷(xiāo)。

引入了ArrayMap / ArraySet并在框架中廣泛使用,以替代HashMap / HashSet的輕型存儲(chǔ)。

這里最主要的事情就是減少設(shè)備上運(yùn)行的各種進(jìn)程的內(nèi)存消耗,以盡可能地保守?;镜南到y(tǒng)服務(wù)已被剝離,以在后臺(tái)使用盡可能少的內(nèi)存,因?yàn)槊空鬃止?jié)的RAM很重要。

Android Go使用修改后的低內(nèi)存殺手和dex優(yōu)化

鑒于Android Go主要用于具有1GB或更少RAM的設(shè)備,因此將需要更加積極的內(nèi)存管理。Android Go以幾種不同的方式修改了低內(nèi)存殺手(LMK)。首先,當(dāng)大量的RAM用完時(shí),低內(nèi)存消除器將進(jìn)入“ 臨界壓力 ”狀態(tài)。這是因?yàn)楫?dāng)內(nèi)存使用率很高時(shí),由于不斷嘗試訪問(wèn)設(shè)備存儲(chǔ)上的交換文件,系統(tǒng)將變得緩慢。保持RAM干凈將防止系統(tǒng)需要使用此交換文件并防止內(nèi)存崩潰。當(dāng)設(shè)備的內(nèi)存已滿(mǎn)時(shí),就會(huì)發(fā)生內(nèi)存顛簸,并且經(jīng)常需要在設(shè)備的存儲(chǔ)設(shè)備上分頁(yè)交換文件,從而嚴(yán)重降低性能。

服務(wù)和WiFi服務(wù)設(shè)置為“ 速度配置文件 ”,這意味著這些服務(wù)中的選擇方法是預(yù)先編制(AOT)的。(方法指的是可以在任何位置按名稱(chēng)調(diào)用的代碼集。)由于Android系統(tǒng)無(wú)需連續(xù)重新編譯設(shè)備上運(yùn)行的基本服務(wù),因此可以減少RAM使用和存儲(chǔ)。同時(shí),共享的APK設(shè)置為“快速”,旨在通過(guò)優(yōu)化dex指令來(lái)獲得更好的性能,從而延長(zhǎng)電池壽命和CPU周期。

在dex優(yōu)化方面,Android Go發(fā)揮了很多作用。對(duì)于初學(xué)者,十天后它將降級(jí)應(yīng)用程序如果不用于節(jié)省空間。此處降級(jí)并不是指應(yīng)用程序的實(shí)際版本號(hào)降低,而是意味著該應(yīng)用程序的dalvik_cache將被擦除。使用Dalvik緩存是為了使設(shè)備不需要重新編譯應(yīng)用程序,而是僅編譯其中最必要的部分并將其緩存。其余的在運(yùn)行應(yīng)用程序時(shí)使用即時(shí)(JIT)編譯器進(jìn)行編譯。但是,如果該應(yīng)用程序沒(méi)有使用10天,那么該應(yīng)用程序的主要部分也將被刪除。這樣做是為了釋放盡可能多的空間。另一個(gè)簡(jiǎn)單的更改是不允許應(yīng)用程序的RAM使用超過(guò)256MB,以便應(yīng)用程序無(wú)法使用設(shè)備上的所有RAM。

Android會(huì)成為低端設(shè)備上自定義ROM開(kāi)發(fā)的未來(lái)嗎?

當(dāng)前,我們尚不知道解決方案,但是在較舊設(shè)備上定制ROM的發(fā)展前景光明。在設(shè)備上運(yùn)行較新版本的Android可能還存在其他問(wèn)題,但是從理論上講,基于Android Oreo升級(jí)到更優(yōu)化的Android Go 可以使較舊的低端設(shè)備運(yùn)行得更好。


免責(zé)聲明:本文由用戶(hù)上傳,如有侵權(quán)請(qǐng)聯(lián)系刪除!

最新文章

精彩推薦

圖文推薦

點(diǎn)擊排行

2016-2022 All Rights Reserved.平安財(cái)經(jīng)網(wǎng).復(fù)制必究 聯(lián)系QQ280 715 8082   備案號(hào):閩ICP備19027007號(hào)-6

本站除標(biāo)明“本站原創(chuàng)”外所有信息均轉(zhuǎn)載自互聯(lián)網(wǎng) 版權(quán)歸原作者所有。