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.