Gérer les bitmaps

Essayer Compose
Jetpack Compose est le kit d'outils d'interface utilisateur recommandé pour Android. Découvrez comment afficher des éléments graphiques dans Compose.

Le chargement de bitmaps dans votre application Android peut s'avérer difficile 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 d'une résolution maximale de 4 048 x 3 036 pixels (12 mégapixels). Si la configuration bitmap utilisée est ARGB_8888 (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 nécessite environ 48 Mo de mémoire (4 048 x 3 036 x 4 octets). Une demande de mémoire aussi importante peut immédiatement utiliser toute la mémoire disponible pour l'application.
  • Le chargement de bitmaps dans le thread UI peut dégrader les performances de votre application, ce qui peut entraîner une lenteur de réactivité ou même 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 pourraient 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 élimine la plus grande 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 plus d'informations 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 à ce sujet, reportez-vous aux pages Charger efficacement des bitmaps volumineux, Mettre en cache des bitmaps et Gérer la mémoire bitmap.

Autres ressources