Wykonywanie pracy w tle jest kluczowym elementem tworzenia nowoczesnych aplikacji na Androida, które są responsywne, wydajne i nie obciążają urządzenia użytkownika. Praca w tle obejmuje wszystkie zadania, które aplikacja musi wykonać, gdy nie jest widoczna na pierwszym planie, np. pobieranie danych z serwera lub przetwarzanie obrazów.

Poruszanie się po zawiłościach wykonywania w tle jest kluczem do tworzenia odpornych aplikacji, które dobrze działają na wszystkich urządzeniach.

Pierwsze kroki z pracą w tle

Zapoznaj się z przewodnikiem po wyborze odpowiedniego interfejsu API do pracy w tle w Twoim przypadku użycia i rozważ go w kontekście procesu i cyklu życia aplikacji na Androidzie.
Wskazówka
Wybór odpowiedniego interfejsu API do pracy w tle może być skomplikowany. Na tej stronie znajdziesz jasne wskazówki dotyczące tego, kiedy używać pracy asynchronicznej, WorkManagera, usług na pierwszym planie lub alternatywnych rozwiązań. Dowiedz się, który interfejs API najlepiej sprawdzi się w Twoim przypadku.
Wskazówka
Poznaj podstawowe koncepcje cyklu życia procesu Androida i dowiedz się, jak wpływa on na działanie aplikacji i zarządzanie zasobami. Dowiedz się, jak system zarządza procesami aplikacji na podstawie stanu aktywności, co umożliwia projektowanie odpornych i wydajnych aplikacji, które dobrze reagują na zakończenia inicjowane przez system.

Kluczowych pojęć

Do najpopularniejszych interfejsów API i narzędzi do wykonywania pracy w tle należą WorkManager, usługi działające na pierwszym planie, alarmy i transmisje. Każde rozwiązanie będzie miało różny wpływ na czas pracy baterii urządzeń użytkowników.
WorkManager to zalecane rozwiązanie do wykonywania trwałych zadań w tle na Androidzie. Dowiedz się, jak używać tej zaawansowanej biblioteki do planowania zadań, które są wykonywane po ponownym uruchomieniu aplikacji i urządzenia. Poznaj też jej najważniejsze funkcje do obsługi ograniczeń i elastycznych zasad ponawiania.
Usługi na pierwszym planie to skuteczny sposób na natychmiastowe wykonywanie zadań, których nie należy przerywać. Dowiedz się, kiedy i jak deklarować, uruchamiać i zatrzymywać usługę działającą na pierwszym planie z trwałym powiadomieniem, aby mieć pewność, że aplikacja wykonuje krytyczne zadania bez zamykania przez system.
Alarmy są kluczowym narzędziem do planowania pracy w określonym czasie. Z tego artykułu dowiesz się, jak używać AlarmManager do planowania dokładnych i niedokładnych alarmów dla zadań, które muszą być wykonywane o określonej godzinie lub w danym przedziale czasu, nawet gdy aplikacja nie jest uruchomiona. Zawiera też sprawdzone metody zarządzania alarmami i zapewniania ich optymalizacji pod kątem czasu pracy baterii.
Dowiedz się, jak wysyłać i odbierać transmisje w celu obsługi zdarzeń systemowych i wiadomości z innych aplikacji. Dowiesz się też o odbiornikach zarejestrowanych w kontekście i zadeklarowanych w pliku manifestu oraz o nowoczesnych ograniczeniach systemowych, które ich dotyczą.

Wskazówki dotyczące tła według przypadku użycia

Odpowiednie rozwiązanie zależy od konkretnego przypadku użycia. Android udostępnia wiele interfejsów API przeznaczonych do konkretnych zadań, które są zoptymalizowane pod kątem określonych scenariuszy i często pozwalają zaoszczędzić więcej energii oraz podlegają mniejszym ograniczeniom niż WorkManager i usługi działające na pierwszym planie.

W tej sekcji znajdziesz listę najczęstszych przypadków użycia i zalecanych rozwiązań.

W większości przypadków lokalizacja jest potrzebna tylko wtedy, gdy użytkownik korzysta z aplikacji. Jeśli jednak aplikacja musi mieć dostęp do lokalizacji w tle, użyj interfejsu Fused Location Provider API. Użyj tego interfejsu API, aby uzyskać ostatnią znaną lokalizację z pamięci podręcznej lub poprosić o okresowe aktualizacje lokalizacji.
Skutecznie aktualizuj widżety GlanceAppWidget, gdy aplikacja działa w tle, za pomocą metody aktualizacji.
komunikować się z urządzeniami peryferyjnymi w tle za pomocą technologii Bluetooth Low Energy (BLE); Dowiedz się, jak skanować urządzenia, łączyć się z nimi i utrzymywać stałe połączenie, przestrzegając ograniczeń systemowych i oszczędzając baterię.
Jeśli chcesz śledzić kroki na urządzeniach mobilnych, rozważ odczytywanie ich z Health Connect, czyli sklepu z danymi o zdrowiu i aktywności fizycznej na Androidzie.
W przypadku zadań w tle inicjowanych przez użytkownika, które obejmują przesyłanie danych (w tym pobieranie i przesyłanie) i mają na celu informowanie użytkownika o postępach, używaj typu zadania przenoszenia danych inicjowanego przez użytkownika. Ten typ zadania jest zoptymalizowany pod kątem długotrwałych transferów danych i ma priorytet w systemie.
Używaj biblioteki Media3, aby obsługiwać odtwarzanie w tle, gdy aplikacja nie jest widoczna dla użytkownika.

Optymalizacja zużycia energii

Aby tworzyć wysokiej jakości aplikacje na Androida, musisz brać pod uwagę wpływ pracy w tle na zużycie energii. Pozwala to tworzyć bardziej odporne i energooszczędne aplikacje dzięki zrozumieniu, jak system zarządza zasobami. Optymalizacja pod kątem zużycia energii zmniejsza wyczerpywanie się baterii, zapobiega zamykaniu aplikacji przez system i zapewnia płynniejsze działanie.
Wskazówka

System ustala priorytety żądań aplikacji dotyczących zasobów na podstawie stanu urządzenia, stanu aplikacji i jej kategorii czuwania.

Dowiedz się więcej o tym, jak aplikacja może działać w ramach limitów zasobów zarządzania energią urządzenia, aby niezawodnie wykonywać zadania w tle.

Wskazówka
Aby wykonać ważne zadania, aplikacja może potrzebować zapobiegać przejściu procesora urządzenia w stan zawieszenia. Ten przewodnik pomoże Ci wybrać najbardziej odpowiednie metody utrzymywania urządzenia w stanie aktywności.
Wskazówka
Dowiedz się, jak dostosować aplikację do trybu uśpienia i trybu gotowości aplikacji, aby zwiększyć wydajność baterii i poprawić komfort użytkowników. Znajomość tych trybów oszczędzania energii pomoże Ci zapewnić optymalne działanie aplikacji przy jednoczesnym zminimalizowaniu jej wpływu na czas pracy urządzenia na baterii.
Wskazówka
Od Androida 9 urządzenia mają funkcje zarządzania energią, które wpływają na wszystkie aplikacje. Dowiedz się, jak testować aplikację, aby mieć pewność, że działa prawidłowo na wszystkich urządzeniach, w tym z funkcjami takimi jak oszczędzanie baterii, zasobniki gotowości aplikacji i ograniczenia dotyczące działania w tle.

Najnowsze wiadomości