Podgląd programisty Androida 11

Google udostępniło dziś Androida 11 Developer Preview 1. Oto wszystkie nowe funkcje platformy i zmiany w zachowaniu, o których powinni wiedzieć programiści.

Dziś Google’a ogłoszony pierwsza wersja deweloperska Androida 11 w oficjalnym poście na blogu. Firma udostępniła już obrazy systemu wszystkim programistom zainteresowanym instalacją nowego systemu operacyjnego Android. Zalecamy zainstalowanie jej jak najszybciej, aby przetestować aplikację pod kątem najnowszych zmian w zachowaniu i funkcji platformy w systemie Android 11. Zanim zagłębisz się w dokumentację, oto podsumowanie wszystkich głównych nowych funkcji przeznaczonych dla programistów w pierwszej wersji zapoznawczej programisty Androida 11.

Nowe funkcje sieciowe/łączności

Łączność 5G będzie modna w tym i przyszłym roku: Samsung udostępnia powszechnie smartfony obsługujące 5G z serią Galaxy S20 chwila Qualcomm nadal podnosi poprzeczkę na temat łączności smartfonów 5G. W systemie Android 11 Google dodaje dwa nowe interfejsy API, aby przygotować programistów na rzeczywistość łączności 5G. Nie tylko te, ale inne interfejsy API oparte na łączności również zyskują na popularności.

API estymatora przepustowości

Google jest aktualizacja ConnectivityManagera aby ułatwić sprawdzanie przepustowości downstream i upstream bez konieczności odpytywania sieci lub konieczności obliczania przez programistów własnych szacunków. Jeśli modem nie obsługuje udostępniania tych danych, API dokona domyślnej oceny na podstawie istniejącego połączenia sieciowego.

Dynamiczny interfejs API pomiaru

Ten interfejs API umożliwia programistom sprawdzenie, czy użytkownik korzysta z połączenia nielimitowanego, a jeśli tak, zaoferowanie multimediów o wyższej rozdzielczości lub jakości, które mogą potencjalnie wykorzystać znacznie więcej danych. W systemie Android 11 ten interfejs API został rozszerzony o sieci komórkowe, dzięki czemu programiści mogą teraz identyfikować użytkowników, których operatorzy oferują naprawdę niezmierzone usługi transmisji danych w ich sieci 5G.

Udoskonalenia usługi sprawdzania połączeń

Google wprowadził koncepcję „ról” w Androidzie 10. Są trochę podobne do „aplikacji domyślnych” w tym sensie, że przyznanie roli aplikacji umożliwia jej dostęp do określonych interfejsów API. Na przykład istnieje rolę sprawdzania połączeń która pozwala aplikacji innej firmy blokować lub identyfikować połączenia przychodzące, zanim użytkownik zostanie o nich poinformowany. W systemie Android 11 aplikacje do sprawdzania połączeń mogą teraz odbierać połączenia przychodzące Zmieszać/wstrząśnąć status weryfikacji w ramach szczegółów połączenia. Następnie mogą dostosować dostarczony przez system ekran po zakończeniu połączenia, aby umożliwić użytkownikom wykonywanie takich czynności, jak oznaczanie połączenia jako spam lub dodanie dzwoniącego do kontaktów. Pomoże to aplikacjom do sprawdzania połączeń zrobić więcej dla użytkownika, usprawniając reakcje po nieznanym rozmówcy.

Ulepszenia interfejsu API sugestii Wi-Fi

The API sugestii Wi-Fi umożliwi teraz aplikacjom do zarządzania łącznością większe możliwości zarządzania własnymi sieciami. Na przykład aplikacje do zarządzania łącznością będą teraz mogły wymusić rozłączenie poprzez usunięcie sieci sugestie, zarządzaj sieciami Passpoint, otrzymuj więcej informacji o jakości połączonych sieci i więcej.

Ulepszenia punktu dostępu

Wi-Fi Passpoint, według Wi-Fi Alliance, to rozwiązanie, które usprawnia dostęp sieciowy do hotspotów Wi-Fi poprzez umożliwiając automatyczne wykrywanie i wybór sieci, upraszczając rejestrację online i bezproblemowo włączając hotspot roamingu. Android 11 umożliwi egzekwowanie i powiadamianie o dacie wygaśnięcia m.in Profil punktu dostępu, a także obsługuje specyfikację nazwy zwyczajowej w profilu i umożliwia samopodpisane urzędy certyfikacji dla profili Passpoint R1. Jak wspomniano powyżej, interfejs API sugestii Wi-Fi umożliwi także aplikacjom zapewniającym łączność zarządzanie sieciami Passpoint.

Nowe funkcje interfejsu użytkownika/UX

Obsługa interfejsu użytkownika dla wyświetlaczy dziurkowanych i wodospadowych

Producenci OEM smartfonów z Androidem przodują w innowacjach w obszarze sprzętu, a jedną z najbardziej znaczących zmian sprzętowych, jakie zaobserwowaliśmy w ostatnim czasie, jest wprowadzenie wycięć w wyświetlaczach. Na przykład seria Samsung Galaxy S20 jest wyposażona w wyświetlacze dziurkowane umieszczone centralnie. Wyświetlacze dziurkowane lub wyświetlacze otworkowe, jak określa je Google, to wyświetlacze wyposażone w kamerę otoczony pikselami wyświetlacza na całej krawędzi — prawie tak, jakby ktoś użył dziurkacza wyświetlacz. Kolejną innowacją w zakresie wyświetlaczy jest wyświetlacz wodospadowy: wyświetlacze, które mają znacznie wyraźniejszą krzywiznę wyświetlacza na bocznych krawędziach, rozciągającą się na boki urządzenia.

Po lewej: Samsung Galaxy S20+ z pojedynczym, dziurkowanym wyświetlaczem. Po prawej: Huawei Mate 30 Pro i Vivo Nex 3 5G z zakrzywionymi wyświetlaczami typu „wodospad”.

Android 11 rozszerza teraz obsługę wyświetlaczy dziurkowanych i wyświetlaczy wodospadowych wyświetl API wycięcia. Jeśli programiści chcą, interfejs API umożliwi im także tworzenie aplikacji, które będą mogły korzystać z całego ekranu kaskadowego, łącznie z krawędziami, z wypustkami ułatwiającymi zarządzanie interakcjami w pobliżu krawędzi.

Dedykowana sekcja rozmów w powiadomieniach

Wielu z nas otrzymuje mnóstwo powiadomień dziennie, ale nie każde powiadomienie jest równie ważne. Ogólnie rzecz biorąc, powiadomienia z aplikacji do przesyłania wiadomości są zwykle ważniejsze niż inne powiadomienia pochodzące z aplikacji. W tym celu w Androidzie 11 wprowadzono dedykowaną sekcję rozmów w obszarze powiadomień. Umożliwi to użytkownikom łatwe odnalezienie toczących się rozmów z innymi osobami w ich ulubionych aplikacjach i pomoże programistom w tworzeniu głębszych doświadczeń konwersacyjnych.

API bąbelków

W zeszłym roku zwracaliśmy uwagę na to, jak API Bubbles wprowadzone w Androidzie 10 zastąpi nakładkę API w przyszłej wersji Androida. W przypadku Androida 11 Google naciska na twórców aplikacji do przesyłania wiadomości i czatów, aby przeszli na Bubbles, aby rozmowy były widoczne i dostępne, gdy użytkownik wykonuje wiele zadań jednocześnie na swoim telefonie.

Wstawianie obrazu do odpowiedzi na powiadomienia

Android 11 umożliwi teraz aplikacjom obsługującym kopiowanie/wklejanie obrazów wstawianie tych obrazów bezpośrednio do odpowiedzi wbudowanej w powiadomienie, co oznacza, że ​​użytkownicy mogą nacisnąć i przytrzymać opcję menu kontekstowego Wklej, odpowiadając na powiadomienie z cień powiadomień. Nad Google Chrome już pracowaliśmy obsługa kopiowania obrazów bezpośrednio do schowka Androida, a Gboard przygotowywał się do umożliwienia użytkownikom wklejaj obrazy bezpośrednio do mediów społecznościowych i aplikacji do przesyłania wiadomości. Google wspomina teraz, że te funkcje będą dostępne w wersji Android 11 Developer Preview 1.

Ulepszenia obrazu i aparatu

Animowane rysunki HEIF

Interfejs API ImageDecoder umożliwi teraz programistom dekodowanie i renderowanie animacji sekwencji obrazów przechowywanych w formacie HEIF (format obrazu o wysokiej wydajności) akta. Umożliwi to programistom korzystanie z zasobów wysokiej jakości, minimalizując jednocześnie wpływ na dane sieciowe i rozmiar pliku APK. Oferta sekwencji obrazów HEIF drastyczne zmniejszenie rozmiaru pliku w porównaniu do plików GIF, zatem HEIF może być lepszą alternatywą w zastosowaniach mobilnych. Programiści będą mogli wyświetlać sekwencje obrazów HEIF w swoich aplikacjach, wywołując decodeDrawable ze źródłem HEIF. Jeśli źródło zawiera sekwencję obrazów, zwracany jest AnimatedImageDrawable.

Natywny dekoder obrazu

W Androidzie 11 wprowadzono nowe interfejsy API NDK, które pozwolą aplikacjom dekodować i kodować obrazy z kodu natywnego grafikę lub przetwarzanie końcowe, zachowując mniejszy rozmiar pliku APK, ponieważ nie ma potrzeby dołączania pliku zewnętrznego biblioteka. Natywny dekoder wykorzystuje również proces Androida do bieżących aktualizacji zabezpieczeń platformy.

Wyciszenie podczas przechwytywania obrazu przez kamerę

Nowe interfejsy API umożliwiają aplikacjom wyciszanie wibracji dzwonków, alarmów i powiadomień, gdy aktywna jest sesja przechwytywania kamery, ponieważ wibracje te mogą powodować drgania w nagraniu, które mogą zostać jeszcze bardziej wzmocnione, jeśli użytkownik korzysta z zoomu W.

Tryby bokeh

Aplikacje mogą teraz korzystać z tagów metadanych, aby włączać tryby bokeh w żądaniach przechwytywania zdjęć z aparatu na urządzeniach, które je obsługują.

Dekodowanie wideo o niskim opóźnieniu

Aplikacje mogą teraz korzystać z nowych interfejsów API sprawdzać i skonfiguruj odtwarzanie z niskim opóźnieniem dla określonego kodeka.

Wideo o niskim opóźnieniu ma kluczowe znaczenie w przypadku aplikacji i usług do strumieniowego przesyłania wideo w czasie rzeczywistym, takich jak Stadiony. Kodeki wideo obsługujące odtwarzanie z niskim opóźnieniem zwracają pierwszą klatkę strumienia tak szybko, jak to możliwe po rozpoczęciu dekodowania.

Tryb niskiego opóźnienia HDMI

Nowe interfejsy API umożliwiają teraz aplikacjom sprawdzanie i żądanie włączenia automatycznego trybu niskiego opóźnienia (powszechnie znanego również jako tryb gry). wyświetlacze zewnętrzne i telewizory. W tym trybie wyświetlacz lub telewizor wyłącza przetwarzanie końcowe grafiki w celu zminimalizowania czas oczekiwania.

Różne nowe i zaktualizowane interfejsy API

Interfejs API sieci neuronowych 1.3

Interfejs API sieci neuronowych (NNAPI) został zaprojektowany do wykonywania intensywnych obliczeniowo operacji na potrzeby uczenia maszynowego na urządzeniach z systemem Android. W Androidzie 11 Google rozszerza możliwości operacji i kontroli dostępne dla programistów w ramach tego interfejsu API:

  • Interfejsy API jakości usług obsługują priorytet i limit czasu wykonywania modelu.
  • Interfejsy API domeny pamięci redukują kopiowanie i transformację pamięci w celu kolejnego wykonania modelu.
  • Rozszerzona obsługa kwantyzacji poprzez Asymetryczna kwantyzacja całkowita ze znakiem w którym zamiast liczb zmiennoprzecinkowych używane są liczby całkowite ze znakiem, aby umożliwić mniejsze modele i szybsze wnioskowanie.

Zgodność aplikacji

Nowe aktualizacje platformy mogą powodować potencjalne problemy ze zgodnością aplikacji dla twórców aplikacji, dlatego Google również pracuje nad ustaleniem priorytetu zgodności aplikacji. W systemie Android 11 Google dodaje nowe procesy, narzędzia dla programistów i kamienie milowe w zakresie wydań, które mają na celu zminimalizowanie wpływu aktualizacji platformy, a tym samym zminimalizowanie problemów ze zgodnością.

  • Minimalizowanie wpływu zmian w zachowaniu: firma Google podjęła świadomy wysiłek, aby zminimalizować zmiany w zachowaniu, które mogą mieć wpływ na aplikacje. Wszystkie tego typu zmiany zostały szczegółowo przeanalizowane wraz z ich wpływem i podjęto próbę spraw, aby jak najwięcej z nich wyraziło zgodę, dopóki programiści nie ustawią targetSdkVersion swojej aplikacji na Androida 11. Nie jest jeszcze możliwe publikowanie aplikacji obsługujących poziom API 30, ale Google umożliwi to w przyszłej wersji zapoznawczej programisty Androida 11.
  • Łatwiejsze testowanie i debugowanie: zgodnie z tym, co zgłosiliśmy w zeszłym miesiącu, pierwsza wersja deweloperska Androida 11 zawiera Opcja programisty „Zgodność aplikacji”, która pomaga programistom testować nowe zmiany na platformie. Wprowadzono wiele przełomowych zmian wprowadzonych w wersji Android 11 Developer Preview przełączalne — umożliwiające programistom wymuszanie lub wyłączanie zmian indywidualnie w Opcjach programisty lub przez ADB. Powinno to pomóc złagodzić problemy podczas testowania zgodności aplikacji, ponieważ programiści nie będą musieli ponownie kompilować aplikacji na potrzeby podstawowych testów ani zmieniać docelowej wersji SDK.
  • Zaktualizowane szare listy: Google zaktualizowało listę ograniczone interfejsy inne niż SDK. Dostępna jest również wersja Android 11 Developer Preview usunięto obejście meta-odbicia z którego korzystali niektórzy programiści.
  • Dynamiczny moduł ładujący zasoby: programiści poprosili o publiczny interfejs API do dynamicznego ładowania zasobów i zasobów w czasie wykonywania, a w systemie Android 11 Google dodał platformę modułu ładowania zasobów.
  • Nowy kamień milowy w zakresie stabilności platformy: przygotowanie aplikacji do wczesnej kompatybilności było wyzwaniem dla programistów w trakcie faza Developer Preview/Beta, ponieważ nie było jasnych dat ostatecznych zmian na platformie w tym zakresie wersja. Dlatego w przypadku Androida 11 Google dodaje nowy kamień milowy w wydaniu o nazwie „Stabilność platformy”, który Google spodziewa się osiągnąć na początku czerwca. Ta przełomowa wersja będzie zawierać nie tylko ostateczne interfejsy API SDK i NDK, ale także ostateczne wewnętrzne interfejsy API i inne zachowania systemowe, które mogą mieć wpływ na aplikacje. Więcej informacji na temat harmonogramu wydania można znaleźć w witrynie Google dla programistów.

Jeśli chcesz przetestować nową wersję deweloperską Androida 11, możesz przesłać gotowy obraz systemu na Pixel 2, Pixel 2 XL, Pixel 3, Pixel 3 XL, Pixel 3a, Pixel 3a XL, Pixel 4 lub Pixel 4 XL. Alternatywnie możesz sflashować wstępnie skompilowany, podpisany przez Google Generic System Image (GSI) na dowolnym urządzeniu obsługującym Project Treble z odblokowanym programem ładującym. Jeśli nie masz żadnego z obsługiwanych telefonów Pixel lub urządzenia obsługującego Project Treble z odblokowany bootloader, wówczas możesz pobrać najnowszy obraz systemu dla emulatora w systemie Android Studio. Emulator Androida z systemem Android 11 ma eksperymentalną obsługę uruchamiania 32-bitowego i 64-bitowego kodu binarnego ARM na 64-bitowych obrazach systemu x86.

Oprócz skonfigurowania emulatora Androida możesz także pobrać zestawy SDK i NDK dla deweloperów Androida 11 w Android Studio. Google zaleca aktualizację Android Studio do wersji najnowsze wydanie Canary aby skorzystać z najnowszych funkcji IDE. Po skonfigurowaniu możesz zapoznać się z najnowszymi funkcjami platformy i zmianami w zachowaniu w wersji deweloperskiej Androida 11, sprawdzając przegląd interfejsów API, informacje o interfejsach API i raport różnic API. Jeśli masz jakieś uwagi do przekazania, możesz powiadomić Google za pośrednictwem dowolnego oficjalnego kanału. Jeśli znajdziesz błąd w podglądzie programisty, możesz złożyć raport w narzędziu do śledzenia problemów Google. Na koniec pamiętaj o śledzeniu naszego tagu aktualności, aby uzyskać najnowsze aktualizacje Androida 11 — istnieje wiele funkcji platformy i zmian w zachowaniu, których Google po prostu nie dokumentuje!

Wiadomości o Androidzie 11 na XDA