Obsługa map bitowych

Wypróbuj sposób tworzenia wiadomości
Jetpack Compose to zalecany zestaw narzędzi UI na Androida. Dowiedz się, jak wyświetlać grafikę w funkcji Compose

Wczytywanie map bitowych w aplikacji na Androida może być trudne z kilku powodów:

  • Mapy bitowe mogą bardzo łatwo wyczerpać budżet pamięci aplikacji. Na przykład aparat w telefonie Pixel może robić zdjęcia w rozdzielczości do 4048 x 3036 pikseli (12 megapikseli). Jeśli używana jest konfiguracja bitmapy ARGB_8888, czyli domyślnie w Androidzie 2.3 (poziom interfejsu API 9) i nowszych, wczytywanie pojedynczego zdjęcia do pamięci zajmuje około 48 MB pamięci (4048 × 3036 × 4 bajty). Tak duże zapotrzebowanie na pamięć może natychmiast wykorzystać całą pamięć dostępną dla aplikacji.
  • Wczytywanie map bitowych w wątku interfejsu może pogorszyć wydajność aplikacji, powodując powolne czasy reakcji, a nawet komunikaty o błędach ANR. Dlatego tak ważne jest prawidłowe zarządzanie wątkami podczas pracy z mapami bitowymi.
  • Jeśli aplikacja wczytuje do pamięci wiele map bitowych, musisz umiejętnie zarządzać pamięcią i buforowaniem dysku. W przeciwnym razie responsywność i płynność interfejsu aplikacji mogą ulec pogorszeniu.

W większości przypadków zalecamy używanie biblioteki Glide do pobierania, dekodowania i wyświetlania bitmap w aplikacji. Glide to narzędzie, które eliminuje większość złożoności przy obsłudze tych i innych zadań związanych z pracą z mapami bitowymi i innymi obrazami na Androidzie. Informacje o używaniu i pobieraniu Glide znajdziesz w repozytorium Glide na GitHubie.

Możesz też zdecydować się na bezpośrednią współpracę z interfejsami API niższego poziomu wbudowanymi w platformę Androida. Więcej informacji na ten temat znajdziesz w artykułach Loading Large Bitmaps Efficiently (Wydajne ładowanie dużych map bitowych), Buforowanie map bitowych i Zarządzanie pamięcią bitmap.

Więcej materiałów