Obsługa map bitowych
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
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.
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-26 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-07-26 UTC."],[],[],null,["# Handling bitmaps\n\nTry the Compose way \nJetpack Compose is the recommended UI toolkit for Android. Learn how to display graphics in Compose. \n[ImageBitmap →](/jetpack/compose/graphics/images/compare) \n\nThere are a number of reasons why loading bitmaps in your Android app is tricky:\n\n- Bitmaps can very easily exhaust an app's memory budget. For example, the camera on the [Pixel](https://www.android.com/phones/pixel/) phone takes photos of up to 4048x3036 pixels (12 megapixels). If the bitmap configuration used is [ARGB_8888](/reference/android/graphics/Bitmap.Config), the default for Android 2.3 (API level 9) and higher, loading a single photo into memory takes about 48MB of memory (4048\\*3036\\*4 bytes). Such a large memory demand can immediately use up all the memory available to the app.\n- Loading bitmaps on the UI thread can degrade your app's performance, causing slow responsiveness or even ANR messages. It is therefore important to manage threading appropriately when working with bitmaps.\n- If your app is loading multiple bitmaps into memory, you need to skillfully manage memory and disk caching. Otherwise, the responsiveness and fluidity of your app's UI may suffer.\n\n\nFor most cases, we recommend that you use the [Glide](https://github.com/bumptech/glide)\nlibrary to fetch, decode, and display bitmaps in your app. Glide abstracts out most of\nthe complexity in handling these and\nother tasks related to working with bitmaps and other images on Android.\nFor information about using and downloading Glide, visit the\n[Glide repository](https://github.com/bumptech/glide) on GitHub.\n\n\nYou can also opt to work directly with the lower-level APIs built into the Android framework.\nFor more information on doing so, refer to\n[Loading Large Bitmaps Efficiently](/topic/performance/graphics/load-bitmap),\n[Caching Bitmaps](/topic/performance/graphics/cache-bitmap), and\n[Managing Bitmap Memory](/topic/performance/graphics/manage-memory).\n\nMore resources\n--------------"]]