
Pamięć RAM jest zasobem współdzielonym przez system operacyjny oraz wszystkie działające aplikacje. Jeśli jeden program zaczyna wykorzystywać jej wyjątkowo dużo, konsekwencje może odczuć całe urządzenie. Android jest wtedy zmuszony usuwać z pamięci inne procesy, przez co aplikacje ponownie się uruchamiają, przełączanie między nimi trwa dłużej, a telefon może sprawiać wrażenie mniej płynnego. Szczególnie problematyczne są wycieki pamięci, w których aplikacja zachowuje niepotrzebne dane nawet wtedy, gdy nie są już wykorzystywane. Google wskazuje, że nieefektywne gospodarowanie RAM może prowadzić do zacinania urządzenia i zamykania innych, poprawnie działających aplikacji. Wprowadzenie wspólnych progów ma więc zachęcić deweloperów do projektowania oprogramowania w taki sposób, aby program korzystał z zasobów proporcjonalnie do swoich rzeczywistych potrzeb.
Google wiąże decyzję również ze zmianami zachodzącymi na rynku sprzętu. Według firmy branża mobilna mierzy się z ograniczeniami dotyczącymi dostępności i kosztów pamięci, przez co nie można zakładać, że każdy kolejny telefon będzie oferował coraz większą ilość RAM. Tymczasem same aplikacje stają się bardziej rozbudowane. Korzystają z większej liczby bibliotek, grafik wysokiej jakości, usług działających w tle, funkcji multimedialnych oraz rozwiązań opartych na sztucznej inteligencji. Jeśli wymagania programów będą rosły szybciej niż możliwości sprzętu, komfort korzystania z Androida może się pogarszać. Nowe zasady Google Play mają wymusić większą dyscyplinę jeszcze na etapie tworzenia aplikacji, zamiast przerzucać cały problem na system operacyjny i użytkownika.
Google nie zamierza oceniać aplikacji na podstawie pojedynczego skoku wykorzystania pamięci. Nowe wymagania wykorzystują dane zbierane w ramach Android vitals i analizowane w okresie ostatnich 28 dni. Jedną z głównych metryk będzie Anonymous RSS wraz ze swapem. W uproszczeniu chodzi o pamięć bezpośrednio zajmowaną przez aplikację, w tym między innymi stertę Java lub Kotlin, natywne alokacje pamięci i anonimowe mapowania, a także dane przeniesione do mechanizmów wymiany takich jak zRAM. Drugą metryką będzie pamięć zajmowana przez bitmapy, czyli grafiki przechowywane przez aplikację. Dzięki temu Google będzie mogło wykrywać zarówno ogólnie zbyt wysokie wykorzystanie RAM, jak i przypadki, w których problem wynika przede wszystkim z nieefektywnego zarządzania obrazami.
Do oceny wykorzystywany będzie 90. percentyl wyników, czyli wartość pokazująca, poniżej jakiego poziomu znajduje się 90 procent zebranych próbek. Takie rozwiązanie ma ograniczyć wpływ pojedynczych nietypowych zdarzeń i lepiej pokazywać rzeczywiste zachowanie aplikacji wśród użytkowników. Dodatkowo Google rozdziela limity według stanu aplikacji. Inne wartości obowiązują program działający na pierwszym planie, inne usługę zauważalną dla użytkownika, a jeszcze inne aplikację pozostającą w tle. Progi zależą także od ilości pamięci dostępnej w urządzeniu. Program uruchomiony na telefonie z 4 GB RAM będzie więc oceniany inaczej niż ten sam program działający na urządzeniu wyposażonym w 12 lub 16 GB pamięci.
Google opublikowało konkretne progi dla aplikacji mobilnych. Na urządzeniach należących do klasy około 4 GB RAM aplikacja działająca na pierwszym planie powinna utrzymywać się poniżej 2 GB według ocenianego 90. percentyla, a podczas działania w tle limit wynosi 1 GB. Dla urządzeń z około 6 GB RAM wartości wynoszą odpowiednio 2,25 GB na pierwszym planie i 1,25 GB w tle. Przy klasie 8 GB Google nadal przewiduje 2,25 GB dla aplikacji aktywnej oraz 1,5 GB dla działania w tle. Na urządzeniach z około 12 GB RAM próg dla aplikacji na pierwszym planie rośnie do 3,25 GB, a dla działania w tle do 1,75 GB.
W przypadku urządzeń należących do klasy około 16 GB RAM limit aplikacji działającej na pierwszym planie wynosi 4,25 GB, natomiast dla usług widocznych dla użytkownika i działania w tle przewidziano 2 GB. Google nie stosuje więc zasady, według której każdy program ma identyczny sztywny limit. System bierze pod uwagę możliwości konkretnej klasy sprzętu oraz sposób działania aplikacji. To ważne szczególnie dla bardziej rozbudowanych narzędzi, programów do edycji multimediów czy gier, które naturalnie potrzebują więcej pamięci niż prosta aplikacja pogodowa. Firma rozdziela również wymagania dla zwykłych aplikacji i gier, ponieważ ich charakterystyka wykorzystania zasobów jest inna. Nowe wymagania dotyczące RAM mają obejmować telefony oraz tablety.
Najważniejsze jest tutaj właściwe rozumienie nowych zasad. Google nie zapowiada, że 1 lutego 2027 roku automatycznie usunie ze sklepu wszystkie aplikacje, które przekroczą ustalone wartości. Oficjalne informacje mówią przede wszystkim o wpływie podstawowych wskaźników Android vitals na widoczność programu w Google Play. Aplikacja regularnie przekraczająca progi może więc znaleźć się w gorszej sytuacji podczas prezentowania użytkownikom, rekomendowania czy pozycjonowania w sklepie. Dla dużej aplikacji, która pozyskuje znaczną część nowych użytkowników właśnie z Google Play, ograniczenie widoczności może mieć bardzo poważne skutki biznesowe, nawet jeśli sam program pozostanie dostępny do pobrania.
Nowe zasady należy więc traktować jako część szerszego systemu wymuszania technicznej jakości aplikacji. Google od dawna monitoruje między innymi awarie oraz zdarzenia ANR, czyli sytuacje, w których aplikacja przestaje odpowiadać. W przypadku tych wskaźników przekraczanie określonych poziomów już może wpływać na widoczność programu. Od lutego 2027 roku do podstawowych parametrów jakości dochodzi pamięć. Deweloper nie powinien więc zakładać, że skoro aplikacja się uruchamia i nie zawiesza, jest wystarczająco dobrze zoptymalizowana. Coraz większe znaczenie będzie miało to, jak program zachowuje się podczas długotrwałego używania i jak bardzo wpływa na pozostałe aplikacje oraz cały system.
Grafiki mogą być jednym z największych konsumentów pamięci w aplikacji. Rozmiar pliku JPG lub WebP zapisany na dysku nie odpowiada bezpośrednio ilości RAM potrzebnej po jego rozkodowaniu. Zdjęcie mające kilka megabajtów może po załadowaniu do pamięci wymagać znacznie większej przestrzeni, szczególnie jeśli ma wysoką rozdzielczość. Problem pojawia się wtedy, gdy aplikacja przechowuje jednocześnie wiele takich obrazów, wczytuje je w rozdzielczości znacznie większej niż potrzebna na ekranie albo nie usuwa ich z pamięci, gdy użytkownik przestaje je widzieć. Dlatego bitmap memory usage stanie się oddzielną podstawową metryką Android vitals i również będzie objęte progami złego zachowania.
Google zaleca deweloperom między innymi skalowanie i dekodowanie obrazów do wymiarów faktycznie potrzebnych do ich wyświetlenia. Firma wskazuje też na wykorzystanie nowoczesnych bibliotek do ładowania grafik, takich jak Coil czy Glide, oraz rozsądne konfigurowanie pamięci podręcznej. Ważne jest również zwalnianie niepotrzebnych bitmap, gdy interfejs przestaje być widoczny. Dla użytkownika są to praktycznie niewidoczne mechanizmy, ale ich wpływ może być ogromny. Dwie aplikacje wyglądające niemal identycznie mogą różnić się wykorzystaniem RAM o setki megabajtów tylko dlatego, że jedna z nich prawidłowo zarządza obrazami, a druga przechowuje w pamięci znacznie więcej danych, niż rzeczywiście potrzebuje.
Zmiany nie ograniczają się do samej pamięci RAM. Od lutego 2027 roku Google Play zacznie również wymagać określonego poziomu optymalizacji kodu DEX, czyli kodu wykonywanego przez środowisko Androida. Dla aplikacji, których kod DEX przekracza 10 MB, oraz gier mających ponad 50 MB takiego kodu przewidziano minimalny poziom optymalizacji, zmniejszania i zaciemniania wynoszący 25 procent. Google wskazuje, że właściwa optymalizacja może przyspieszyć uruchamianie programu, ograniczyć zużycie pamięci, poprawić działanie interfejsu i zmniejszyć liczbę przypadków ANR. Deweloperzy mogą sprawdzać poziom optymalizacji poszczególnych pakietów bezpośrednio w Play Console.
W praktyce pokazuje to, że Google chce oceniać jakość aplikacji coraz bardziej kompleksowo. Sama liczba funkcji czy atrakcyjny interfejs nie wystarczą, jeśli pod spodem znajduje się ciężki, źle zoptymalizowany kod. Ma to znaczenie również ze względu na rozwój aplikacji tworzonych przy użyciu dużej liczby gotowych bibliotek i frameworków. Dodawanie kolejnych zależności może przyspieszyć produkcję programu, ale często prowadzi do zwiększenia jego rozmiaru oraz zapotrzebowania na zasoby. Nowe zasady tworzą więc ekonomiczną zachętę do porządkowania kodu. Jeśli niepotrzebne elementy zaczną wpływać na spełnianie wymagań Google Play, ich usuwanie może stać się nie tylko kwestią dobrej praktyki programistycznej, ale również warunkiem skutecznej dystrybucji aplikacji.
Z punktu widzenia użytkownika największą korzyścią powinna być większa płynność działania urządzenia. Jeśli aplikacje będą zużywały mniej pamięci, Android rzadziej będzie zmuszony zamykać pozostałe programy działające w tle. Może to ograniczyć sytuacje, w których po powrocie do przeglądarki strona musi zostać wczytana ponownie albo aplikacja społecznościowa uruchamia się od początku mimo wcześniejszego pozostawienia jej otwartej. Korzyści mogą być szczególnie widoczne na smartfonach wyposażonych w umiarkowaną ilość RAM, gdzie pojedynczy źle zoptymalizowany program jest w stanie wykorzystać znaczną część dostępnych zasobów. Google wskazuje wprost, że nadmierne zużycie pamięci może powodować zacinanie urządzenia oraz usuwanie z pamięci innych aplikacji.
Nie oznacza to jednak, że od 2027 roku każdy telefon z Androidem nagle stanie się szybszy. Na wydajność wpływa również procesor, szybkość pamięci wewnętrznej, temperatura urządzenia, liczba usług systemowych, kondycja sprzętu oraz sposób działania samego systemu. Nowe wymagania mogą natomiast wyeliminować część problemów wynikających z wyjątkowo nieefektywnego oprogramowania. Co istotne, wymagania Google Play dotyczące pamięci mają obowiązywać niezależnie od używanej wersji Androida, choć są powiązane z szerszymi zmianami w zarządzaniu pamięcią w Androidzie 17. Optymalizacje przygotowane przez producentów aplikacji mogą więc pomóc również osobom korzystającym ze starszych urządzeń.
Twórcy mają jeszcze czas na analizę swoich aplikacji, a Google już udostępnia potrzebne dane w Android vitals. Jednym z pierwszych kroków powinno być sprawdzenie, ile pamięci program zużywa na urządzeniach z różną ilością RAM oraz w poszczególnych stanach działania. Szczególną uwagę warto zwrócić na wycieki pamięci, zbyt duże bufory, długo utrzymywane procesy działające w tle i niepotrzebnie przechowywane obiekty. Google rekomenduje między innymi odpowiednie reagowanie na mechanizm onTrimMemory(), stosowanie komponentów uwzględniających cykl życia aplikacji oraz profilowanie alokacji pamięci i analizowanie zrzutów sterty. Pozwala to wykrywać miejsca, w których aplikacja wykorzystuje zasoby nieproporcjonalnie do wykonywanego zadania.
Ważne będzie również testowanie programu nie tylko na najnowszych flagowcach. Aplikacja działająca idealnie na telefonie wyposażonym w 16 GB RAM może zachowywać się zupełnie inaczej na urządzeniu mającym 6 GB pamięci. Nowy system progów został zaprojektowany właśnie tak, aby uwzględnić te różnice sprzętowe. Deweloperzy, którzy rozpoczną optymalizację odpowiednio wcześnie, mogą potraktować nowe wymagania jako okazję do poprawy jakości programu, a nie jedynie kolejne ograniczenie Google Play. Mniejsze wykorzystanie pamięci może oznaczać szybsze działanie, mniej awarii i lepsze oceny użytkowników. Dla twórców ignorujących problem luty 2027 roku może natomiast stać się momentem, w którym techniczne zaniedbania zaczną bezpośrednio wpływać na widoczność i rozwój aplikacji w największym sklepie z oprogramowaniem dla Androida.