Android 10 opiera się na 3 ważnych tematach. Po pierwsze, Android 10 wyznacza kierunek rozwoju innowacji mobilnych dzięki zaawansowanemu uczeniu maszynowemu i obsługiwaniu nowych urządzeń, takich jak urządzenia składane i telefony z obsługą 5G. Android 10 koncentruje się na prywatności i bezpieczeństwie. Zawiera prawie 50 funkcji, które zapewniają użytkownikom większą ochronę, przejrzystość i kontrolę. W Androidzie 10 rozszerzono funkcje cyfrowego samopoczucia, aby użytkownicy i ich rodziny mogli lepiej zachować równowagę w stosunku do technologii.
Oto przegląd funkcji Androida 10 dla deweloperów i sposobów ich wykorzystania już dziś.
Innowacje i nowe możliwości
Dzięki Androidowi 10 możesz korzystać z najnowszych innowacji sprzętowych i programowych, aby tworzyć niesamowite wrażenia z aplikacji dla użytkowników.

W Androidzie 10 możesz optymalizować aplikacje pod kątem składanych i innych urządzeń z dużym ekranem.
Urządzenia składane
Android 10 rozszerza tryb wielozadaniowy na wszystkie okna aplikacji i zapewnia ciągłość ekranu, aby zachować stan aplikacji podczas składania i rozkładania urządzenia. Android 10 wprowadza szereg ulepszeń metod onResume i onPause, aby umożliwić wznawianie działania aplikacji na wielu urządzeniach i powiadamianie o jej aktywacji. Zmienia on też sposób działania atrybutu resizeableActivity w pliku manifestu, aby ułatwić zarządzanie wyświetlaniem aplikacji na składanych i dużych ekranach. Aby ułatwić sobie tworzenie aplikacji na urządzenia składane, możesz skonfigurować emulator składanego urządzenia jako urządzenie wirtualne (AVD) w Android Studio. Szczegółowe informacje o optymalizowaniu aplikacji na urządzenia składane znajdziesz w przewodniku dla programistów.
Sieci 5G
Sieć 5G zapewnia większą prędkość i mniejsze opóźnienie. Android 10 obsługuje tę sieć i rozszerza dostępne interfejsy API, aby ułatwić Ci korzystanie z tych ulepszeń. Interfejsy API dotyczące łączności umożliwiają wykrywanie, czy urządzenie ma połączenie o dużej przepustowości, oraz sprawdzanie, czy jest to połączenie z pomiarem. Dzięki nim Twoje aplikacje i gry mogą zapewniać użytkownikom bogate i realistyczne wrażenia w sieci 5G.
Inteligentna odpowiedź w powiadomieniach
Android 10 korzysta z sztucznej inteligencji na urządzeniu, aby sugerować działania kontekstowe w powiadomieniach, takie jak inteligentne odpowiedzi na wiadomości czy otwieranie mapy powiadomienia na adres. Twoje aplikacje mogą korzystać z tej funkcji od razu, bez konieczności wykonywania jakichkolwiek działań. Domyślnie inteligentne odpowiedzi i działania udostępniane przez system są wstawiane bezpośrednio do powiadomień. Jeśli chcesz, możesz nadal podawać własne odpowiedzi i działania. Wystarczy zrezygnować z inteligentnych odpowiedzi w przypadku pojedynczych powiadomień, używając funkcji setAllowGeneratedReplies() i setAllowSystemGeneratedContextualActions().

Inteligentna odpowiedź może sugerować działania na podstawie treści powiadomienia.
Ciemny motyw
Android 10 wprowadza systemowy ciemny motyw, który jest idealny przy słabym oświetleniu i pomaga oszczędzać baterię. Użytkownicy mogą aktywować nowy ciemny motyw w całym systemie, otwierając Ustawienia lub włączając Oszczędzanie baterii. Spowoduje to zmianę interfejsu systemu na ciemny i włączenie ciemnego motywu w aplikacjach, które go obsługują. Możesz utworzyć niestandardowy ciemny motyw dla swojej aplikacji lub włączyć nową funkcję Wymuś ciemny motyw, która pozwala systemowi dynamicznie tworzyć ciemną wersję na podstawie dotychczasowego motywu. Możesz też skorzystać z funkcji DayNight w AppCompat, aby udostępnić ciemny motyw użytkownikom starszych wersji Androida. Więcej informacji znajdziesz w przewodniku dla programistów.

Android 10 może dynamicznie tworzyć ciemny motyw dla Twojej aplikacji za pomocą opcji Wymuś ciemny motyw.
Nawigacja przy użyciu gestów

Nawigacja za pomocą gestów zapewnia aplikacjom pełny ekran treści.
Android 10 wprowadza tryb nawigacji za pomocą gestów, który eliminuje obszar paska nawigacyjnego i pozwala aplikacjom korzystać z pełnego ekranu, aby zapewnić bogatsze i bardziej wciągające wrażenia. Zachowuje znajome przyciski Wstecz, Ekran główny i Ostatnie, ale zamiast przycisków umożliwia przesuwanie palcem po krawędzi ekranu. Aby płynnie przechodzić na nawigację za pomocą gestów, przesuwaj palcem od krawędzi do krawędzi, a nie za barem nawigacji. Aby to zaimplementować, aplikacje powinny używać interfejsu API setSystemUiVisibility(), aby wyświetlać interfejs na pełnym ekranie, a następnie obsługiwać WindowInsets w odpowiednim zakresie, aby nie zasłaniać ważnych elementów interfejsu. Zacznij optymalizować swoją aplikację już dziś. Więcej informacji znajdziesz w serii postów na blogu.
Panele ustawień
Możesz teraz wyświetlać kluczowe ustawienia systemu bezpośrednio w kontekście aplikacji za pomocą nowego interfejsu API panelu ustawień. Panel ustawień to pływający interfejs, który wyświetla ustawienia potrzebne użytkownikom, takie jak połączenie z internetem, NFC i głośność dźwięku. Na przykład przeglądarka może wyświetlić panel z ustawieniami łączności, takimi jak tryb samolotowy, Wi-Fi (w tym sieci w pobliżu) i dane mobilne. Aby wyświetlić panel ustawień, wywołaj intencję za pomocą jednej z nowych akcji Settings.Panel.
Skróty udostępniania
Skróty do udostępniania umożliwiają szybsze i prostsze udostępnianie, ponieważ użytkownicy mogą przejść bezpośrednio do innej aplikacji, aby udostępnić treści. Deweloperzy mogą publikować cele udostępniania, które uruchamiają określone działanie w ich aplikacjach z dołączonymi treściami. Cele te są wyświetlane użytkownikom w interfejsie udostępniania. Ponieważ są publikowane z wyprzedzeniem, interfejs udostępniania wczytuje się natychmiast po uruchomieniu. Udostępnianie skrótów działa podobnie jak skróty do aplikacji i korzysta z tego samego interfejsu API ShortcutInfo. Interfejs API jest też obsługiwany w bibliotece ShareTarget na AndroidaX. Więcej informacji znajdziesz w aplikacji przykładowej.

Skróty udostępniania umożliwiają użytkownikom przechodzenie bezpośrednio do określonej aktywności w aplikacji z dołączonymi treściami.
Prywatność użytkowników
Prywatność jest głównym celem Androida 10, od wzmocnienia zabezpieczeń na platformie po nowe funkcje zaprojektowane z myślą o prywatności. Android 10, który opiera się na poprzednich wersjach, zawiera rozległe zmiany, które mają na celu ochronę prywatności i zapewnić użytkownikom większą kontrolę. W systemie poprawiono interfejs użytkownika, zaostrzono uprawnienia, a także wprowadzono ograniczenia dotyczące danych, których mogą używać aplikacje. Szczegółowe informacje o tym, jak uwzględnić te zmiany w swoich aplikacjach, znajdziesz w artykule o zmianach w zakresie prywatności.

Użytkownicy mogą teraz zezwolić na dostęp do lokalizacji, gdy aplikacja działa na pierwszym planie.
Zapewnienie użytkownikom większej kontroli nad danymi o lokalizacji – użytkownicy mają większą kontrolę nad swoimi danymi o lokalizacji dzięki nowej opcji uprawnień. Mogą teraz zezwolić aplikacji na dostęp do lokalizacji tylko wtedy, gdy jest ona aktywna (czynna na pierwszym planie). W przypadku większości aplikacji zapewnia to wystarczający poziom dostępu, a dla użytkowników oznacza to większą przejrzystość i kontrolę. Więcej informacji o zmianach w lokalizacji znajdziesz w przewodniku dla deweloperów lub w poście na blogu.
Ochrona danych o lokalizacji w skanowaniu sieci –większość interfejsów API do skanowania sieci wymagała już uprawnień do określania przybliżonej lokalizacji. Android 10 zwiększa ochronę tych interfejsów API, wymagając uprawnienia do dokładnej lokalizacji.
Zapobieganie śledzenia urządzenia – aplikacje nie mają już dostępu do identyfikatorów urządzeń, których nie można zresetować i które można wykorzystać do śledzenia, w tym numeru IMEI, numeru seryjnego i podobnych identyfikatorów. Adres MAC urządzenia jest też domyślnie losowo generowany podczas łączenia z sieciami Wi-Fi. Zapoznaj się ze sprawdzonymi metodami, aby wybrać odpowiednie identyfikatory do danego przypadku użycia. Szczegółowe informacje znajdziesz tutaj.
Bezpieczeństwo danych użytkownika w pamięci zewnętrznej – Android 10 wprowadza szereg zmian, które dają użytkownikom większą kontrolę nad plikami w pamięci zewnętrznej i danymi aplikacji w nich zawartymi. Aplikacje mogą przechowywać własne pliki w prywatnych piaskownicach, ale muszą używać MediaStore, aby uzyskać dostęp do udostępnionych plików multimedialnych, oraz okna wyboru plików systemowych, aby uzyskać dostęp do udostępnionych plików w nowej kolekcji Pobrane. Więcej informacji znajdziesz tutaj.
Blokowanie niechcianych przerw – Android 10 uniemożliwia uruchamianie aplikacji w tle, które niespodziewanie wyskakują na pierwszy plan i przejmują kontrolę nad inną aplikacją. Więcej informacji znajdziesz tutaj.
Bezpieczeństwo
Android 10 wprowadza kilka funkcji, które zapewniają większą ochronę użytkowników dzięki zaawansowanemu szyfrowaniu, wzmocnieniu platformy i uwierzytelnianiu. Więcej informacji o aktualizacjach zabezpieczeń Androida 10 znajdziesz tutaj.
Szyfrowanie pamięci – wszystkie kompatybilne urządzenia z Androidem 10 muszą szyfrować dane użytkownika. Aby zwiększyć wydajność, Android 10 zawiera Adiantum, czyli nasz nowy tryb szyfrowania.
TLS 1.3 domyślnie – Android 10 włącza też domyślnie TLS 1.3, czyli ważną wersję protokołu TLS, która zapewnia lepsze osiągi i lepszą ochronę.
Zabezpieczanie platformy – Android 10 zawiera też zabezpieczenia dla kilku obszarów platformy, które są kluczowe dla bezpieczeństwa.
Ulepszone dane biometryczne – Android 10 rozszerza ramy BiometricPrompt, aby obsługiwać metody uwierzytelniania biernego, takie jak rozpoznawanie twarzy, oraz dodawać utajone i wyraźne przepływy uwierzytelniania. W przypadku procesu jawnego użytkownik musi wyraźnie potwierdzić transakcję w urządzeniu TEE podczas uwierzytelniania. Proces domyślny to lżejsza alternatywa dla transakcji z uwierzytelnianiem biernym. Android 10 ulepsza też alternatywne metody logowania na urządzeniu w razie potrzeby. Więcej informacji znajdziesz tutaj.
Aparat i multimedia
Dynamiczna głębia ostrości zdjęć
Aplikacje mogą teraz żądać obrazu dynamicznej głębi, który składa się z metadanych JPEG, XMP związanych z elementami związanymi z głębią oraz mapy głębi i pewności siebie zakodowanej w tym samym pliku. Dzięki nim możesz oferować w aplikacji specjalne opcje rozmycia i bokeh. Dynamiczna głębia ostrości to otwarty format w ekosystemie. Współpracujemy z partnerami nad udostępnieniem go na urządzeniach z Androidem 10 lub nowszym.



Dzięki obrazowi z dynamiczną głębią możesz oferować w aplikacji specjalne efekty rozmycia i bokeh.
Rejestrowanie odtwarzania dźwięku
Teraz każda aplikacja odtwarzająca dźwięk może zezwalać innym aplikacjom na przechwytywanie strumienia audio za pomocą nowego interfejsu API do przechwytywania odtwarzania dźwięku. Oprócz umożliwienia tworzenia napisów interfejs API umożliwia obsługę popularnych przypadków użycia, takich jak transmisje gier na żywo. Stworzyliśmy tę nową funkcję z myślą o prywatności i ochronie praw autorskich, dlatego możliwości przechwytywania dźwięku z innej aplikacji są ograniczone, co daje aplikacjom pełną kontrolę nad tym, czy ich strumienie audio mogą być przechwytywane. Więcej informacji znajdziesz w tym poście na blogu.
nowe kodeki audio i wideo;
Android 10 obsługuje kodek wideo open source AV1, który umożliwia dostawcom mediów przesyłanie strumieniowo treści wideo wysokiej jakości na urządzenia z Androidem przy użyciu mniejszej ilości danych. Android 10 obsługuje też kodowanie dźwięku za pomocą Opus – otwartego, wolnego od opłat licencyjnych kodeka zoptymalizowanego pod kątem strumieniowania mowy i muzyki – oraz HDR10+ do obsługi wideo o wysokim zakresie dynamicznym na urządzeniach, które go obsługują. Interfejs MediaCodecInfo API ułatwia określanie możliwości renderowania wideo na urządzeniu z Androidem. W przypadku każdego kodeka możesz uzyskać listę obsługiwanych rozmiarów i częstotliwości klatek.
Natywne API MIDI
W Androidzie 10 aplikacje, które przetwarzają dźwięk w C++, mogą korzystać z natywnego interfejsu MIDI API do komunikacji z urządzeniami MIDI za pomocą NDK. Ten interfejs API umożliwia pobieranie danych MIDI w ramach wywołania zwrotnego audio za pomocą odczytu nieblokującego, co umożliwia przetwarzanie komunikatów MIDI z niską latencją. Wypróbuj to na przykładowej aplikacji i kodzie źródłowym dostępnym tutaj.
Mikrofony kierunkowe z możliwością przybliżania
Android 10 daje większą kontrolę nad rejestrowaniem dźwięku dzięki nowemu interfejsowi MicrophoneDirection API. Za pomocą interfejsu API możesz określić preferowany kierunek mikrofonu podczas nagrywania dźwięku. Jeśli na przykład użytkownik robi selfie, możesz poprosić o użycie mikrofonu (jeśli jest dostępny) na przednim panelu. Interfejs API wprowadza też standardowy sposób sterowania mikrofonami z możliwością powiększenia, co pozwala aplikacji kontrolować pole nagrywania.
Vulkan wszędzie
Android 10 rozszerza wpływ interfejsu Vulkan dzięki naszej implementacji interfejsu API o niskim obciążeniu, który umożliwia wydajną grafikę 3D. Vulkan 1.1 jest teraz wymagany na wszystkich urządzeniach 64-bitowych z Androidem w wersji 10 lub nowszej oraz zalecany na wszystkich urządzeniach 32-bitowych. W ekosystemie widać już znaczny wzrost obsługi Vulkana – na urządzeniach z Androidem N lub nowszym 53% z nich obsługuje Vulkana 1.0.3 lub nowszą wersję. Ze względu na nowy wymóg w Androidzie 10 spodziewamy się, że w przyszłym roku jeszcze bardziej wzrośnie liczba użytkowników.
Łączność
Ulepszona łączność peer-to-peer i z internetem
Zmodyfikowaliśmy pakiet Wi-Fi, aby poprawić ochronę prywatności i wydajność, a także aby ulepszyć typowe przypadki użycia, takie jak zarządzanie urządzeniami IoT i proponowanie połączeń z internetem – bez konieczności uzyskiwania uprawnień do lokalizacji. Interfejsy API do połączeń sieciowych ułatwiają zarządzanie urządzeniami IoT w ramach lokalnej sieci Wi-Fi w celu wykonywania funkcji peer-to-peer, takich jak konfigurowanie, pobieranie czy drukowanie. Interfejsy API dotyczące sugestii sieci umożliwiają aplikacjom wyświetlanie użytkownikowi preferowanych sieci Wi-Fi, aby umożliwić mu połączenie z internetem.
Tryby wydajności Wi-Fi
Aplikacje mogą teraz żądać adaptacyjnego Wi-Fi, włączając tryby wysokiej wydajności i niskiej latencji.
Mogą one być bardzo przydatne w przypadku, gdy niskie opóźnienie ma znaczenie dla wrażeń użytkownika, np. w grach w czasie rzeczywistym, aktywnych połączeniach głosowych i podobnych zastosowaniach. Platforma współpracuje z oprogramowaniem układowym urządzenia, aby spełniać wymagania przy minimalnym zużyciu energii. Aby korzystać z nowych trybów wydajności, wywołaj metodę WifiManager.WifiLock.createWifiLock() z parametrami WIFI_MODE_FULL_LOW_LATENCY
lub WIFI_MODE_FULL_HIGH_PERF
. W tych trybach platforma współpracuje z oprogramowaniem układowym urządzenia, aby spełniać wymagania dotyczące minimalnego zużycia energii.
Podstawy Androida
Optymalizacja ART
Ulepszenia w czasie wykonywania ART pomagają aplikacjom uruchamiać się szybciej, zużywać mniej pamięci i działać płynniej – bez konieczności podejmowania jakichkolwiek działań. Profili ART dostarczanych przez Google Play, dzięki którym ART może wstępnie skompilować części aplikacji jeszcze przed jej uruchomieniem. W czasie działania Android 10 dodaje do równoległego kopiowania (CC) w ART generacyjną kolekcję odpadów, aby zwiększyć wydajność procesu usuwania odpadów pod względem czasu i procesora, zmniejszyć zacięcia oraz poprawić działanie aplikacji na urządzeniach niższych klasy.

Ten wykres pokazuje procentowy spadek czasu uruchamiania poszczególnych aplikacji w przypadku testów z użyciem profili Play.
Neural Networks API 1.2
Dodaliśmy 60 nowych operacji, w tym ARGMAX, ARGMIN i kwantyzacja LSTM, a także szereg ulepszeń wydajności. Stanowi to podstawę do przyspieszenia działania znacznie większej liczby modeli, takich jak modele do wykrywania obiektów i segmentacji obrazów. Współpracujemy z dostawcami sprzętu i popularnymi platformami uczenia maszynowego, takimi jak TensorFlow, aby zoptymalizować i wdrożyć obsługę NNAPI 1.2.
Thermal API
Gdy urządzenia się przegrzeją, mogą ograniczyć działanie procesora lub karty graficznej, co może mieć nieoczekiwany wpływ na działanie aplikacji i gier. W Androidzie 10 aplikacje i gry mogą korzystać z interfejsu Thermal API , aby monitorować zmiany na urządzeniu i podejmować działania, które pomogą przywrócić normalną temperaturę. Na przykład aplikacje do strumieniowego przesyłania danych mogą zmniejszyć rozdzielczość/szybkość transmisji bitów lub ruch sieciowy, aplikacja do obsługi aparatu może wyłączyć błysk lub intensywne wzbogacanie obrazu, a gra może zmniejszyć częstotliwość wyświetlania klatek lub tesselację wielokątów. Więcej informacji znajdziesz tutaj.
Zgodność dzięki publicznym interfejsom API
W Androidzie 10 nadal wprowadzamy ograniczenia dotyczące interfejsów innych niż SDK, aby aplikacje stopniowo przestawiały się na wyłącznie korzystanie z publicznych interfejsów API. Jeśli interfejs, którego obecnie używasz, jest ograniczony, możesz poprosić o nowy publiczny interfejs API dla tego interfejsu. Aby ułatwić Ci przejście i zapobiec nieprawidłowemu działaniu aplikacji, włączamy te ograniczenia tylko wtedy, gdy Twoja aplikacja jest kierowana na Androida 10 (interfejs API 29). Więcej informacji o ograniczeniach znajdziesz w przewodniku dla programistów.
Szybsze aktualizacje i nowocześniejszy kod
Android 10 został opracowany z myślą o szybszych aktualizacjach dzięki projektowi Treble, który zapewnia spójny, testowalny interfejs między Androidem a podstawowym kodem urządzenia pochodzącym od producentów urządzeń i producentów układów scalonych. Dzięki Treble producenci urządzeń mogą szybciej i taniej wprowadzać Androida 10 na urządzenia zgodne z Treble.
Android 10 to też pierwsza wersja, która obsługuje Project Mainline (oficjalnie nazywany aktualizacjami systemu Google Play), czyli naszą nową technologię zapewniającą bezpieczeństwo użytkowników Androida i aktualizowanie ich urządzeń o ważne zmiany kodu bezpośrednio z Google Play. Dzięki aktualizacjom systemowym Google Play możemy aktualizować określone komponenty wewnętrzne na wszystkich urządzeniach z Androidem 10 lub nowszym bez konieczności przeprowadzania pełnej aktualizacji systemu przez producenta urządzenia.
Te aktualizacje w Androidzie 10 powinny pomóc deweloperom w ujednoliceniu implementacji platformy na różnych urządzeniach, a z czasem także w zmniejszeniu kosztów rozwoju i testowania.
Rozpocznij
Pełne zasoby dla deweloperów dotyczące Androida 10 znajdziesz na stronie developer.android.com/10.