您的位置: 首頁 >科技 >

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

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

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

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

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

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

少數LineageOS開發(fā)人員已經在構建Android Go優(yōu)化的自定義ROM

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

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

Android Go如何幫助較舊的Android手機運行Android Oreo

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

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

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

Android Go實用程序Android的低內存模式

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

改進的內存管理

經過驗證的節(jié)省內存的內核配置:交換到ZRAM。

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

不允許大型服務將自己放回A服務中(這樣它們就不會導致啟動器被殺死)。

殺死閑置維護過大的進程(甚至是當前IME之類的不可殺死的進程)。

序列化后臺服務的啟動。

調整低RAM設備的內存使用:更嚴格的內存不足(OOM)調整級別,較小的圖形緩存等。

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

減少系統(tǒng)內存

修剪了system_server和SystemUI進程(節(jié)省了幾個MB)。

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

經過驗證的JIT-off選項(每個進程最多節(jié)省1.5MB)。

減少了每個進程的字體緩存開銷。

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

這里最主要的事情就是減少設備上運行的各種進程的內存消耗,以盡可能地保守?;镜南到y(tǒng)服務已被剝離,以在后臺使用盡可能少的內存,因為每兆字節(jié)的RAM很重要。

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

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

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

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

Android會成為低端設備上自定義ROM開發(fā)的未來嗎?

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


免責聲明:本文由用戶上傳,如有侵權請聯系刪除!

最新文章

精彩推薦

圖文推薦

點擊排行

2016-2022 All Rights Reserved.平安財經網.復制必究 聯系QQ280 715 8082   備案號:閩ICP備19027007號-6

本站除標明“本站原創(chuàng)”外所有信息均轉載自互聯網 版權歸原作者所有。