Gérer les bitmaps
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Essayer Compose
Jetpack Compose est le kit d'outils d'interface utilisateur recommandé pour Android. Découvrez comment afficher des images dans Compose.
Le chargement de bitmaps dans votre application Android peut s'avérer délicat pour plusieurs raisons:
- Les bitmaps peuvent très facilement épuiser le budget de mémoire d'une application. Par exemple, l'appareil photo du téléphone Pixel prend des photos dont la résolution maximale est de 4 048 x 3 036 pixels (12 mégapixels).
Si la configuration bitmap utilisée est
ARGB_8888
, la valeur par défaut pour Android 2.3 (niveau d'API 9) ou version ultérieure, le chargement d'une seule photo en mémoire prend environ 48 Mo de mémoire (4 048 x 3 036 x 4 octets). Une telle quantité de mémoire requise peut immédiatement utiliser toute la mémoire disponible pour l'application.
- Le chargement de bitmaps sur le thread UI peut dégrader les performances de votre application, ce qui peut ralentir la réactivité, voire entraîner des messages ANR. Il est donc important de gérer les threads de manière appropriée lorsque vous utilisez des bitmaps.
- Si votre application charge plusieurs bitmaps en mémoire, vous devez gérer habilement la mise en cache de la mémoire et du disque. Sinon, la réactivité et la fluidité de l'interface utilisateur de votre application peuvent en pâtir.
Dans la plupart des cas, nous vous recommandons d'utiliser la bibliothèque Glide pour récupérer, décoder et afficher les bitmaps dans votre application. Glide enlève la majeure partie de la complexité liée à la gestion de ces tâches et d'autres tâches liées à l'utilisation de bitmaps et d'autres images sur Android.
Pour en savoir plus sur l'utilisation et le téléchargement de Glide, consultez le dépôt Glide sur GitHub.
Vous pouvez également choisir de travailler directement avec les API de niveau inférieur intégrées au framework Android.
Pour en savoir plus sur cette procédure, consultez Charger efficacement des bitmaps volumineux, Mettre en cache des bitmaps et Gérer la mémoire bitmap.
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/26 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 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--------------"]]