Android 17 ukróci marnotrawstwo pamięci. Nowy mechanizm, którego starsze telefony i tak nie zobaczą
Przez ostatnią dekadę świat Androida radził sobie z niechlujnym kodem i wyciekami pamięci w najprostszy możliwy sposób: producenci ładowali do smartfonów gigabajty RAM-u, a programiści wiedzieli, że sprzęt zamaskuje każdą optymalizacyjną fuszerkę.
Wraz z nadejściem Androida 17 Google mówi „dość”. System wprowadza rygorystyczne limity pamięci dla pojedynczych aplikacji, ale rozwiązanie to niesie ze sobą gorzki paradoks.
Dosypywanie gigabajtów przestało działać
Eskalacja cen komponentów i kryzys na rynku półprzewodników zmusiły producentów do cięcia kosztów. Trend ten widać nawet po flagowych konstrukcjach, gdzie producenci wycofują się z bezsensownego pompowania specyfikacji do 16 czy 24 GB RAM-u.
Google na łamach Android Developer Blog zapowiedziało wdrożenie sztywnych limitów zużycia pamięci na aplikację, uzależnionych od fizycznej pojemności RAM-u w urządzeniu. Zamiast pozwalać procesom na niekontrolowany rozrost w tle, system wymusi deterministyczne środowisko pracy. To ruch, którym Google po siedemnastu wersjach systemu wprost przyznaje rację inżynierom Apple: stabilność i płynność interfejsu wymagają dyscypliny w kodzie, a nie bezdennego bufora sprzętowego.
Zresztą, rynek też to zauważa, mimo ogólnego spadku sprzedaży smartfonów, wygranym jest Apple, o czym już informowaliśmy.
Drożyzna pamięci czyści rynek ze średniej półki. Apple rośnie, gdy inni liczą straty
zRAM i bateria: pułapka na niechlujnych programistów
Nowy mechanizm nie zamyka od razu zasobożernej aplikacji. W pierwszej kolejności Android 17 przenosi jej strony pamięci do skompresowanego obszaru zRAM (Compressed RAM).
Dla użytkowników oznacza to jednak istotny efekt uboczny:
- Obciążenie procesora: ciągła kompresja i dekompresja danych w locie generuje duży narzut obliczeniowy na procesor.
- Szybki drenaż baterii: źle zoptymalizowana aplikacja z wyciekami pamięci sprawi, że telefon zacznie się nagrzewać i błyskawicznie tracić energię.
- Bezwzględne zamknięcie: jeśli proces przekroczy wyznaczony próg po kompresji, system bez ostrzeżenia usunie go z pamięci operacyjnej.
Dla deweloperów kończy się era ignorowania optymalizacji – błędy w kodzie staną się natychmiast widoczne dla każdego użytkownika.
Lekarstwo, którego potrzebujący pacjent nie dostanie
Wprowadzenie limitów pamięci to teoretycznie ratunek dla tańszych smartfonów, które krztuszą się pod własną nakładką systemową. W tym miejscu ujawnia się jednak absurd całego ekosystemu.
Urządzenia wyposażone w 4 czy 6 GB pamięci operacyjnej, które najbardziej potrzebują takiego kagańca, w przytłaczającej większości nigdy nie otrzymają aktualizacji do Androida 17. Producenci budżetowych modeli porzucają wsparcie po roku lub dwóch, pozostawiając je na starszych wersjach oprogramowania.
Z nowego mechanizmu na starcie skorzystają flagowce, które dzięki zapasowi RAM-u i szybkiej pamięci masowej w ogóle go nie potrzebują. Prawdziwym beneficjentem będą dopiero nowe, tanie telefony projektowane w erze droższego krzemu, które wyjadą z fabryki z preinstalowanym Androidem 17. Dla reszty rynku to inżynierski przełom, który pozostanie wyłącznie na papierze.




