Wersja Android 12 Developer Preview 1 jest już dostępna i zawiera mnóstwo zmian, na które twórcy aplikacji powinni zwracać uwagę i dostosowywać swoje aplikacje. Czytaj!
System operacyjny Android istnieje już od lat i stał się dominującym systemem operacyjnym dla urządzeń mobilnych. Chociaż Android jako platforma zdecydowanie dojrzał na przestrzeni lat, zawsze jest miejsce na pewne ulepszenia. I ulepszy to, ponieważ Google wypuszcza teraz pierwszą wersję swojej kolejnej aktualizacji, Androida 12. Wersja Android 12 Developer Preview 1 jest już dostępna i wprowadza zmiany, dzięki którym Android jest bardziej intuicyjny, wydajniejszy i bezpieczniejszy.
Zanim przejdziemy dalej, oto coś, co wymaga powtórzenia: Ta wersja zapoznawcza dla programistów, jak sama nazwa wskazuje, jest przeznaczona tylko dla programistów, aby mogli wypróbować nadchodzący system operacyjny i przetestować swoje aplikacje, aby dostosować się do zachodzących zmian wprowadzony. Oznacza to, że zgodnie z zamierzeniami jest to bardzo wstępna wersja systemu operacyjnego, ale Google będzie ją dopracowywać na podstawie opinii programistów w ciągu najbliższych kilku miesięcy. Jeśli jesteś przeciętnym użytkownikiem, aktualizacja Androida 12 pojawi się dla Ciebie dopiero w drugiej połowie roku. Do tego czasu zalecamy trzymanie się z daleka od flashowania kompilacji na telefonie i po prostu przeczytanie naszego artykułu, aby być na bieżąco ze wszystkimi zmianami nadchodzącymi na Androida!
Android 12 jest tworzony z myślą o prywatności, lepszym wygodzie użytkownika i lepszej wydajności, a w wersji Developer Preview 1 wprowadzono:
-
Zaufanie i bezpieczeństwo
- Nowoczesne zachowania plików cookie SameSite w WebView
- Ograniczony MAC Netlink
- Bezpieczniejszy eksport komponentów
- Bezpieczniejsze posługiwanie się intencjami
-
Lepsze narzędzia do obsługi użytkownika
- Kompatybilne transkodowanie multimediów
- Obsługa obrazu AVIF
- Optymalizacje usług na pierwszym planie
- Wstawianie bogatej treści
- Efekt dźwiękowy sprzężony dotykowo
- Dźwięk wielokanałowy
- Ulepszenia trybu immersyjnego dotyczące nawigacji gestami
- Aktualizacje interfejsu powiadomień
- Szybsze i bardziej responsywne powiadomienia
- Ulepszone wywołania IPC Bindera
-
Zgodność aplikacji
- Aktualizacje projektu Mainline / Google Play: ART i nie tylko
- Optymalizacja pod kątem tabletów, urządzeń składanych i telewizorów
- Zaktualizowane listy interfejsów innych niż SDK
- Łatwiejsze testowanie i debugowanie zmian
- Kamień milowy w zakresie stabilności platformy
- Jak pobrać I Jak zainstalować Androida 12 Podgląd programisty 1
Google ma nadzieję zapewnić użytkownikom większą przejrzystość i kontrolę, jednocześnie dbając o bezpieczeństwo urządzeń z Androidem. Android 12 zapewnia nową kontrolę nad identyfikatorami, których można używać do śledzenia, bezpieczniejsze ustawienia domyślne komponentów aplikacji i nie tylko.
Nowoczesne zachowania plików cookie SameSite w WebView
WebView jest aktualizowany, aby dostosować go do wymagań zmiany w Google Chrome i innych przeglądarek, w odniesieniu do zachowań plików cookie SameSite. Zapewni to dodatkowe bezpieczeństwo i prywatność, a także zapewni użytkownikom większą przejrzystość i kontrolę nad sposobem wykorzystania plików cookie w różnych witrynach.
Google chce, aby programiści przeszli na chroniące prywatność resetowalne identyfikatory. W tym celu wprowadzono wiele wersji, aby ułatwić migrację Netlink MAC dostosowanego do urządzenia. Android 11 ograniczył dostęp do Netlink MAC o zasięgu urządzenia do poziomu API 30, a w Androidzie 12 ograniczenie dotyczy wszystkich aplikacji, niezależnie od docelowego poziomu SDK.
Bezpieczniejszy eksport komponentów
Aplikacje w poprzednich wersjach Androida mogą przypadkowo eksportować działania, usługi i odbiorców. Google zmienia domyślną obsługę pliku android; eksportowane atrybut będzie bardziej wyraźny w systemie Android 12. W systemie Android 12 komponenty deklarujące jeden lub więcej filtrów intencji muszą teraz jawnie zadeklarować plik an android; eksportowane atrybut. Google zaleca programistom sprawdzenie komponentów w manifeście, aby uniknąć błędów instalacji związanych ze zmianą.
Bezpieczniejsze postępowanie z intencjami
Android 12 wymaga również, aby aplikacje jawnie deklarowały flagę zmienności FLAG_MUTABLE lub nowy FLAG_IMMUTABLE, dla każdego PendingIntent. To powinno sprawić, że obsługa PendingIntents będzie bezpieczniejsza.
Żadna aktualizacja nie będzie kompletna bez dopracowania komfortu użytkownika, a Android 12 nie jest wyjątkiem.
Większość urządzeń mobilnych jest obecnie wyposażona w kodowanie sprzętowe H.265 / HEVC, co umożliwia aplikacjom aparatu przechwytywanie w formacie HEVC, ponieważ zapewnia on znaczną poprawę jakości i kompresji w porównaniu ze starszymi kodeki. Większość aplikacji obsługuje HEVC, ale jest jeszcze kilka, które go nie obsługują. W przypadku tych aplikacji Google wprowadza kompatybilne transkodowanie multimediów w systemie Android 12.
Dzięki tej funkcji aplikacja, która nie obsługuje HEVC, może sprawić, że platforma automatycznie transkoduje plik do formatu H.264 / AVC, który zapewnia znacznie szerszą kompatybilność. Jak można się spodziewać, proces transkodowania zajmie trochę czasu, w zależności od wideo i właściwości sprzętowych smartfona. Google podaje przykład Pixela 4 (Snapdragon 855), którego transkodowanie 1-minutowego wideo w rozdzielczości 1080p i 30 klatkach na sekundę zajmuje około 9 sekund.
Programiści mogą wyrazić zgodę na korzystanie z usługi transkodowania, po prostu deklarując formaty multimediów, których ich aplikacja nie obsługuje. Google zdecydowanie zaleca, aby aplikacje w pierwszej kolejności obsługiwały HEVC, ale jeśli nie jest to możliwe, programista powinien włączyć transkodowanie kompatybilnych multimediów. Funkcja będzie aktywna na wszystkich urządzeniach korzystających z formatu HEVC do przechwytywania wideo.
Obsługa obrazu AVIF
W systemie Android 12 wprowadzono obsługę platformy dla formatu pliku obrazu AV1, co pozwala uzyskać wyższą jakość obrazu przy wydajniejszej kompresji. AVIF to format kontenera dla obrazów i sekwencji obrazów zakodowanych przy użyciu AV1. AVIF wykorzystuje zawartość zakodowaną wewnątrzklatkowo z kompresji wideo, radykalnie poprawiając jakość obrazu przy tym samym rozmiarze pliku w porównaniu ze starszymi formatami obrazów, takimi jak JPEG.
Optymalizacje usług pierwszoplanowych
Usługa pierwszoplanowa to usługa wykonująca pewne operacje zauważalne dla użytkownika, np. aplikacja audio odtwarzająca ścieżkę audio i w ten sposób korzystająca z usługi pierwszoplanowej. Usługi te stanowią dla aplikacji ważny sposób zarządzania określonymi typami zadań skierowanych do użytkownika. Ale gdy są nadużywane, może to wpłynąć na wydajność, a nawet doprowadzić do awarii aplikacji.
Powołując się na poprawę komfortu użytkownika, Google będzie blokować uruchamianie usług na pierwszym planie w tle w przypadku aplikacji przeznaczonych na nową platformę. Aby ułatwić programistom odejście od tego wzorca początkowego, w systemie Android 12 wprowadzono nowe, przyspieszone zadanie w JobScheduler, który uzyskuje podwyższony priorytet procesu, dostęp do sieci i działa natychmiast, niezależnie od ograniczeń mocy, takich jak bateria Oszczędzanie lub drzemka. Aby zachować kompatybilność z poprzednimi wersjami, Google wbudował także przyspieszone zadania w najnowszą wersję biblioteki Jetpack WorkManager. Co więcej, Google opóźnia także wyświetlanie niektórych powiadomień usług na pierwszym planie nawet o 10 sekund. Dzięki temu krótkotrwałe zadania mają szansę zostać ukończone przed wyświetleniem powiadomień, co ogranicza rozpraszanie użytkowników.
Wstawianie bogatej treści
Już dawno przekroczyliśmy punkt, w którym nasza komunikacja na telefonach opierała się wyłącznie na prostym głosie i tekście. Większość komunikacji w dzisiejszych czasach jest niekompletna bez towarzyszących jej obrazów (czytaj: memów), filmów i innych wyrazistych treści (czytaj: gify z reakcjami). Jednak wstawianie i przenoszenie tych bogatych typów treści w aplikacjach i między nimi nie jest łatwe.
Aby ułatwić aplikacjom otrzymywanie bogatej zawartości, Google wprowadza nowy, ujednolicony interfejs API, który umożliwia akceptowanie treści z dowolnego źródła: schowka, klawiatury lub metodą „przeciągnij i upuść”. Programiści mogą dołączyć nowy interfejs o nazwie OnReceiveContentLister do komponentów interfejsu użytkownika i uzyskać wywołanie zwrotne, gdy zawartość zostanie wstawiona za pomocą dowolnego mechanizmu. W rezultacie to wywołanie zwrotne staje się pojedynczym miejscem, w którym kod aplikacji obsługuje wstawianie wszystkich elementów rodzaje treści, niezależnie od tego, czy jest to zwykły tekst, tekst stylizowany, znaczniki, obrazy, pliki wideo lub audio oraz poza.
Aby zachować kompatybilność z poprzednimi wersjami, Google dodał ujednolicony interfejs API do systemu Androidx.
Efekt dźwiękowy sprzężony dotykowo
W systemie Android 12 aplikacje mogą zapewniać sprzężone z dźwiękiem sprzężenie dotykowe za pośrednictwem wibratora telefonu. Co więcej, siła i częstotliwość wibracji pochodzą z sesji audio, co pozwala programistom stworzyć bardziej wciągającą grę i wrażenia dźwiękowe. Na przykład aplikacje do połączeń telefonicznych mogą używać niestandardowych dzwonków do identyfikowania rozmówców na podstawie informacji dotykowych, a gry mogą symulować nierówny teren w grze wyścigowej. Jest tu sporo możliwości do odkrycia.
Dźwięk wielokanałowy
Android 12 zawiera kilka ulepszeń dotyczących dźwięku z informacjami przestrzennymi. Dodaje wsparcie dla MPEG-H odtwarzanie w trybie passthrough i offload. Miksery audio, resamplery i efekty zostały zoptymalizowane dla maksymalnie 24 kanałów (poprzednie maksimum wynosiło 8 w systemie Android 11).
Ulepszenia trybu immersyjnego dotyczące nawigacji gestami
Android 12 niesie ze sobą zmianę, która z pozoru wydaje się bardzo ważna. W aplikacjach pełnoekranowych lub wciągających Android 12 domyślnie umożliwia użytkownikom nawigację po telefonie jednym przesunięciem. System operacyjny będzie nadal chronić aplikacje przed przypadkowymi gestami w trybie pełnoekranowym. Będziemy mieć dostęp do wersji deweloperskiej, aby dowiedzieć się, co dokładnie się zmieniło, ponieważ sformułowanie nie oddaje w pełni tej zmiany.
Aktualizacje interfejsu powiadomień
Jak być może już zauważyłeś w wyciekły zrzuty ekranu z Androida 12, powiadomienia zostaną nieco zmodyfikowane, aby uczynić je nowocześniejszymi, łatwiejszymi w użyciu i bardziej funkcjonalnymi. Google wspomina, że wprowadzono zmiany z szuflady i elementów sterujących do samych szablonów. Przejścia i animacje są również optymalizowane, aby były płynniejsze. Aplikacje przeznaczone na Androida 12 będą również miały dostęp do powiadomień z niestandardową treścią z ikoną i innymi zmianami pasującymi do wszystkich innych powiadomień. Przyjrzymy się bliżej zmianom w naszym praktycznym działaniu.
Szybsze i bardziej responsywne powiadomienia
Powiadomienia powinny zapewniać jasną i szybką ścieżkę dotarcia do określonej sekcji aplikacji. Z tego powodu programiści muszą zadbać o to, aby dotknięcia powiadomień uruchamiały działanie bezpośrednio, a nie za pomocą pośredniczący odbiornik lub usługa transmisji w celu rozpoczęcia działania (podejście, które Google określa jako powiadomienie Trampolina). Powiadomienia Trampoliny mogą powodować znaczne opóźnienia i wpływać na wygodę użytkownika, a tym samym Androida 12 zablokuje te trampoliny powiadamiające, uniemożliwiając im wystrzelenie celu Zajęcia. Google prosi programistów o odejście od takich praktyk. Ta zmiana dotyczy tylko aplikacji przeznaczonych na nową platformę, ale w przypadku wszystkich aplikacji Google wyświetli toast, aby deweloper i użytkownicy widzieli trampoliny.
Ulepszone wywołania IPC Bindera
Firma Google skupiła się na zmniejszeniu zmienności systemu, wprowadzając optymalizacje opóźnień i rozkładu obciążenia, które zmniejszają medianę komfortu dla 99% percentylowych przypadków użycia. Zaowocowało to ulepszeniami wywołań systemowych spoiw, dodaniem lekkich strategii buforowania i skupieniem się na usuwaniu rywalizacji o blokady w celu poprawy rozkładu opóźnień. Google twierdzi, że przyniosło to ogólnie około 2-krotny wzrost wydajności wywołań Bindera, ze znaczną poprawą w przypadku określonych połączeń, takich jak refContentProvider() (47x poprawa), zwolnijWakeLock() (15-krotna poprawa) i JobScheduler.schedule() (7,9-krotna poprawa).
Zgodność aplikacji w systemie Android 12
W tej sekcji Google mówi o szybszym i płynniejszym aktualizowaniu zarówno dla programistów, jak i użytkowników. Zmiany w aplikacjach są wprowadzane dobrowolnie, aby dać programistom więcej czasu na dostosowanie się do nowej platformy.
Aktualizacje projektu Mainline / Google Play: ART i nie tylko
Jak dowiedzieliśmy się w zeszłym roku, Google przenosi ART do modułu Project Mainline. Pozwoli to Google poprawić wydajność i poprawność środowiska wykonawczego, wydajniej zarządzać rdzeniem pamięci i przyspieszyć działanie Kotlina – a wszystko to bez konieczności pełnej aktualizacji systemu.
Co więcej, niektóre funkcje wspomniane w tej wiadomości są również dostarczane za pośrednictwem Project Mainline. Na przykład funkcja płynnego transkodowania jest udostępniana za pośrednictwem modułu, który można aktualizować, co wskazuje, że może to być przyszłość systemu Android.
Optymalizacja pod kątem tabletów, urządzeń składanych i telewizorów
Google udostępnia także pierwszą wersję zapoznawczą Androida 12 dla Android TV. Dzięki temu nie tylko uzyskasz dostęp do najnowszych funkcji Androida w telewizorze, ale także będziesz mieć możliwość przetestowania ich z nowymi Telewizja Google doświadczenie.
Zaktualizowane listy interfejsów innych niż SDK
W tej wersji Google to zrobił ograniczone dodatkowe interfejsy inne niż SDK.
Łatwiejsze testowanie i debugowanie zmian
Wprowadzona w systemie Android 11 funkcja Google umożliwia łatwiejsze testowanie i debugowanie zmian dzięki przełącznikom zgody na zmiany prezentowane indywidualnie w Opcjach programisty lub za pośrednictwem ADB.
Kamień milowy w zakresie stabilności platformy
Podobnie jak w zeszłym roku Google planuje osiągnąć kamień milowy w zakresie stabilności platformy w tej wersji, aby dać programistom konkrety wiedzę na temat ostatecznych interfejsów API SDK/NDK oraz wszystkich końcowych wewnętrznych interfejsów API i zachowań systemowych mających kontakt z aplikacjami, których potrzebują do przygotowania swoich aplikacja dla. Google spodziewa się osiągnąć stabilność platformy Androida 12 do sierpnia 2021 r.
Pobierz i zainstaluj Android 12 Developer Preview 1
Możesz z łatwością pobierz najnowszą wersję Androida 12 Developer Preview z linków znajdujących się w naszym dedykowanym artykule, który będzie aktualizowany o linki do pobierania również dla przyszłych wydań.
Google oficjalnie udostępnia tę aktualizację wersji zapoznawczej dla programistów dla:
- Piksel 5
- Piksel 4a 5G
- Piksel 4a
- Piksel 4
- Pixela 4XL
- Piksel 3a
- Pixela 3a XL
- Piksel 3
- Piksel 3 XL
Dalej, mamy instrukcje instalacji dostępne dla Androida 12 Developer Preview 1 dla typowych ścieżek instalacji, takich jak Recovery, ADB i Fastboot dla wyżej wymienionych urządzeń Pixel oraz poprzez GSI dla wszystkich innych urządzeń zgodnych z Project Treble.