Vesti

VMTech Vesti — Zašto Android nastavlja da koči: Dubinska analiza sistemskih uzroka

Zašto Android nastavlja da koči: Dubinska analiza sistemskih uzroka

Zašto Android nastavlja da koči: Dubinska analiza sistemskih uzroka

by Team VMTech čitanja 435

Gotovo svaki korisnik Android uređaja susreo se makar jednom sa situacijom u kojoj telefon počinje da radi sporije. Iako savremeni flagship modeli u početku pružaju odlične performanse, taj osećaj retko traje dugo. Čak i telefoni sa "čistim" Android-om mogu početi da koče nakon nekoliko meseci korišćenja. U ovom tekstu detaljno razmatramo osnovne razloge zašto Android sistem gubi odzivnost vremenom.

Ekstremna fragmentacija Android ekosistema predstavlja jedan od ključnih uzroka pada performansi.

Raznolikost uređaja: mač sa dve oštrice

Android uređaji postoje u gotovo nebrojenim varijacijama — od najjeftinijih do premijum modela. Čak i u okviru jednog proizvođača, kao što je Samsung, razlike u hardveru među modelima iste serije mogu biti značajne. Programeri moraju da prilagode aplikacije i sistem za mnoštvo konfiguracija ekrana, procesora, memorije, senzora i drugih komponenti.

Android telefoni koriste čipove različitih proizvođača — MediaTek, Snapdragon, Exynos, Unisoc — kao i različite vrste RAM-a, skladišta i senzora. Zbog toga ne postoji univerzalna optimizacija koja može garantovati brz i stabilan rad na svim uređajima.

Svaki uređaj koristi jedinstvenu verziju Android-a, sa sopstvenim kernelom, drajverima i korisničkim interfejsom.

Razvoj u uslovima haosa: izazovi programera

Osnovni kod Android sistema dolazi iz Android Open Source Project-a (AOSP). Proizvođači čipova i uređaja zatim integrišu svoje drajvere, firmware i vizuelne dodatke. Na primer, drajveri za kamere moraju biti posebno razvijeni za svaku kombinaciju senzora i hardvera, što dodatno otežava razvoj.

Nasuprot tome, Apple kontroliše i hardver i softver, što omogućava duboku optimizaciju. Njihovi programeri rade sa ograničenim brojem uređaja i arhitektura, što značajno povećava stabilnost i brzinu.

Proizvođačke modifikacije: lepe, ali zahtevne

Mnogi proizvođači, poput Xiaomi-ja i Samsunga, koriste sopstvene korisničke interfejse — MIUI i One UI. Iako nude funkcije koje često dolaze godinama pre nego što ih Google implementira u zvanični Android, te nadogradnje takođe donose složenost i veću potrošnju resursa.

Custom interfejsi često troše i do dva puta više RAM-a nego čisti Android.

Zastareo hardver u modernom pakovanju

Čak i flagship Android uređaji ponekad koriste hardver koji je ispod standarda koji postavlja Apple. Ključna razlika je u keš memoriji — Apple-ovi A-serija procesori imaju više i bržu keš memoriju u odnosu na Snapdragon, što direktno utiče na brzinu i energetsku efikasnost.

Pored toga, interna memorija Android telefona može biti sporija čak i od one na starijim iPhone modelima, što usporava otvaranje aplikacija i rad sistema. Vremenom se NAND memorija troši, dodatno pogoršavajući performanse.

Upravljanje RAM-om i virtuelna mašina

Većina Android aplikacija je napisana u Java-i ili Kotlin-u i koristi Android Runtime (ART) da bi se izvršavala. Iako ART donosi optimizacije, on predstavlja dodatni sloj između koda i procesora. Nasuprot tome, iOS aplikacije se kompajliraju direktno u mašinski kod, što omogućava bolju efikasnost i manju potrošnju memorije.

Android aplikacije u proseku troše oko 40% više RAM-a nego iOS aplikacije. To je posledica i samog jezika i načina na koji sistem upravlja memorijom i pozadinskim procesima.

iOS agresivno suspenduje pozadinske aplikacije i kompresuje njihove podatke, čime štedi memoriju i poboljšava odzivnost.

Animacije i odziv korisničkog interfejsa

Na Android-u se prikaz korisničkog interfejsa obavlja u glavnoj niti aplikacije, zajedno sa izvršavanjem logike programa. To znači da ukoliko se pokrene zahtevna operacija, animacije mogu da se zamrznu ili potpuno prestanu. U iOS-u, za animacije je zadužen poseban framework — Core Animation — koji radi u posebnoj niti, obezbeđujući konstantnu glatkoću.

Zahvaljujući tome, iOS uređaji ostaju responzivni čak i pod velikim opterećenjem, dok Android može zapeti.

Šta bi moglo da se poboljša?

Android se neprekidno razvija. ART dobija redovne nadogradnje, unapređuju se sistemi za rad sa memorijom i renderovanje interfejsa. Ipak, suštinski problem ostaje: Android je dizajniran da bude univerzalan, a ne specijalizovan.

Da bi dostigao nivo odzivnosti kao iOS, Android bi morao da preradi ključne komponente — upravljanje memorijom, arhitekturu prikaza i strategiju za podršku raznovrsnom hardveru. Bez toga, fragmentacija će i dalje biti glavni kamen spoticanja.

Android je sazreo kao platforma, ali da bi se takmičio sa iOS-om u pogledu glatkoće i pouzdanosti, potrebne su duboke sistemske reforme.