Obsługa map bitowych

Wypróbuj metodę Compose
Jetpack Compose to zalecany zestaw narzędzi interfejsu na Androida. Dowiedz się, jak wyświetlać grafikę w Compose.

Wczytywanie bitmap w aplikacji na Androida jest trudne z kilku powodów:

  • Bitmapy mogą bardzo łatwo wyczerpać budżet pamięci aplikacji. Na przykład aparat w telefonie Pixel robi zdjęcia o rozdzielczości do 4048 × 3036 pikseli (12 megapikseli). Jeśli używana konfiguracja mapy bitowej to ARGB_8888, domyślna dla Androida 2.3 (poziom interfejsu API 9) i nowszych wersji, załadowanie jednego zdjęcia do pamięci zajmuje około 48 MB (4048 × 3036 × 4 bajtów). Tak duże zapotrzebowanie na pamięć może natychmiast wykorzystać całą pamięć dostępną dla aplikacji.
  • Wczytywanie bitmap w wątku UI może pogorszyć wydajność aplikacji, powodując powolne reagowanie lub nawet wyświetlanie komunikatów ANR. Dlatego podczas pracy z mapami bitowymi ważne jest odpowiednie zarządzanie wątkami.
  • Jeśli aplikacja wczytuje do pamięci wiele bitmap, musisz umiejętnie zarządzać pamięcią i pamięcią podręczną na dysku. W przeciwnym razie może to negatywnie wpłynąć na szybkość reakcji i płynność interfejsu aplikacji.

W większości przypadków zalecamy używanie biblioteki Glide do pobierania, dekodowania i wyświetlania map bitowych w aplikacji. Biblioteka Glide upraszcza większość złożonych zadań związanych z obsługą map bitowych i innych obrazów na Androidzie. Informacje o używaniu i pobieraniu Glide znajdziesz w repozytorium Glide w GitHubie.

Możesz też pracować bezpośrednio z interfejsami API niższego poziomu wbudowanymi w platformę Androida. Więcej informacji znajdziesz w artykułach Efektywne wczytywanie dużych map bitowych, Buforowanie map bitowychZarządzanie pamięcią map bitowych.

Więcej zasobów