Firma Google ogłosiła nowe wymagania dotyczące jakości aplikacji na platformę Android, mające na celu zmniejszenie zużycia pamięci przez aplikacje w warunkach niedoboru pamięci operacyjnej na rynku smartfonów. Wymagania te zaczną obowiązywać od lutego 2027 roku. Aplikacje, których metryki przekraczają ustalone limity, mogą napotkać ograniczenia w publikacji w katalogu Google Play oraz obniżenie pozycji w wynikach wyszukiwania.
Metryki, które będą monitorowane w celu identyfikacji problemów ze zużyciem pamięci:
- Zużycie pamięci dynamicznej (RSS + dane, które zostały wyparte do pamięci wirtualnej) w czasie aktywności aplikacji oraz podczas pracy w tle.
- Użycie pamięci pod bitmapy obrazów (bitmap), które nie powinny zajmować pamięci, gdy aplikacja nie jest wyświetlana i działa w tle.
- Optymalizacja wykonawczego kodu w formacie DEX (Dalvik Executable). Aplikacje powinny korzystać z narzędzi, takich jak R8, do optymalizacji kodu DEX, usuwania nieużywanych konstrukcji oraz obfuskacji (użycie krótkich nazw klas, metod i pól) w celu zmniejszenia rozmiaru danych ładowanych do pamięci.
Limity określone są w zależności od ilości pamięci operacyjnej, jaką ma urządzenie. Na przykład na urządzeniach z 4 GB RAM aplikacja może zużyć nie więcej niż 2 GB pamięci w czasie aktywności i 1 GB w czasie pracy w tle, na urządzeniach z 8 GB RAM — 2,25 GB i 1,5 GB, przy 12 GB RAM — 3,25 GB i 1,75 GB, a przy 16 GB RAM — 4,25 GB i 2 GB odpowiednio. Dla gier limity są wyższe: na urządzeniach z 4 GB RAM gra może zajmować nie więcej niż 2,25 GB pamięci podczas aktywności i 2 GB w trybie pracy w tle, na urządzeniach z 8 GB RAM — 3,5 GB i 2,75 GB, przy 12 GB RAM — 4 GB i 3,2 GB, a przy 16 GB RAM — 5 GB i 3,5 GB.
Ponadto wprowadza się wymagania dotyczące bezproblemowego przenoszenia aplikacji przy zmianie urządzenia. Od kwietnia 2027 roku wszystkie aplikacje, z wyjątkiem gier, wspierające logowanie do konta, powinny automatycznie przywracać stan podczas przenoszenia na nowe urządzenie za pomocą API Android Restore Credentials.
Dodatkowo warto zauważyć dodanie do gałęzi Android 17 możliwości zwiększenia bezpieczeństwa połączeń sieciowych:
- Włączenie wsparcia dla rozszerzenia TLS ECH (Encrypted ClientHello) w celu ukrycia domeny w ruchu HTTPS. ECH kontynuuje rozwój rozszerzenia ESNI (Encrypted Server Name Indication) i jest stosowane do szyfrowania informacji o parametrach sesji TLS, takich jak żądana nazwa domeny. Kluczowa różnica między ECH a ESNI polega na tym, że w ECH zamiast szyfrowania na poziomie poszczególnych pól całkowicie szyfrowana jest wiadomość TLS ClientHello, co pozwala na zablokowanie wycieków przez pola, które nie są objęte ESNI, na przykład pole PSK (Pre-Shared Key).
- Dodanie zapytania o uprawnienia do skanowania lokalnej sieci przez aplikacje lub łączenia się z urządzeniami w lokalnej sieci (Local Network Protection).
- Domyślne włączenie mechanizmu CT (Certificate Transparency), który zapewnia prowadzenie publicznego rejestru wszystkich wydanych i unieważnionych certyfikatów. CT pozwala na identyfikację certyfikatów stworzonych z pominięciem standardowych procedur centrum certyfikacji (na przykład utworzenie certyfikatu w wyniku nadużyć pracownika lub kompromitacji centrum certyfikacji).
- Operatorzy mobilni otrzymali możliwość domyślnego wyłączenia wsparcia dla sieci 2G, aby zablokować ataki wykorzystujące wymuszone przełączanie smartfonów na sieć 2G w celu obejścia mechanizmów filtracji spamu i dostarczania oszukańczych SMS-ów.
Źródło: opennet.ru
