Le Bitmap Android sono immagini memorizzate come matrici di pixel in memoria, ideali per disegnare, modificare o generare grafica a runtime nelle tue app. In questa guida pratica scoprirai cos’è una Bitmap, a cosa serve nello sviluppo Android e come crearne e visualizzarne una in modo semplice. Gli esempi passo-passo utilizzano Java e Android Studio, così puoi copiarli, eseguirli e adattarli subito ai tuoi progetti. Continua a leggere per capire come gestire al meglio le immagini in memoria e ottenere risultati puliti e professionali.

Bitmap Android: illustrazione di una griglia di pixel colorati che forma un'immagine digitale

Usare le Bitmap in Android: esempio semplice con ImageView

Una Bitmap in Android è una griglia di pixel memorizzata in RAM. Ogni pixel ha un colore e un livello di trasparenza. Più pixel contiene, più l’immagine è definita, ma cresce anche il consumo di memoria.

In questa pagina creiamo una Bitmap a runtime, la riempiamo di giallo e la mostriamo in una ImageView. Usiamo il metodo Bitmap.createBitmap() con il formato ARGB_8888, che gestisce la trasparenza e colori a 32 bit (8 bit per ciascun canale: Alpha, Red, Green, Blue).

Layout: activity_main.xml

Nel layout definiamo solo una ImageView centrata nello schermo:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical">

    <ImageView
        android:id="@+id/img"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>

Codice Java: MainActivity.java

Nell’activity creiamo la Bitmap, la coloriamo e la impostiamo sulla ImageView:

package com.example.bitMap.activities;

import android.graphics.Bitmap;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.ImageView;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ImageView img = findViewById(R.id.img);

        // Creiamo una Bitmap 600x600 con formato ARGB_8888
        Bitmap bm = Bitmap.createBitmap(600, 600, Bitmap.Config.ARGB_8888);

        // Impostiamo tutta la Bitmap di colore giallo
        bm.eraseColor(Color.YELLOW);

        // Mostriamo la Bitmap nella ImageView
        img.setImageBitmap(bm);
    }
}

Con questo approccio puoi disegnare a runtime sulla Bitmap (ad esempio tramite una Canvas collegata a quella Bitmap) e poi mostrare il risultato in una ImageView. Il formato ARGB_8888 è in genere il più indicato: offre buona qualità dell’immagine e pieno supporto alla trasparenza.

Best practice per le Bitmap Android

Quando lavori con le documentazione ufficiale Android, è fondamentale seguire alcune best practice per ottimizzare le prestazioni e la gestione della memoria. Prima di tutto, ricorda sempre di chiamare il metodo recycle() quando una Bitmap non è più utilizzata, per liberare la memoria occupata in modo tempestivo. Inoltre, usa il parametro inSampleSize in BitmapFactory.Options per ridimensionare le immagini al caricamento, specialmente se provengono da file esterni: questo riduce significativamente il consumo di memoria. Un altro accorgimento importante è preferire il formato ARGB_8888 solo quando realmente necessaria la trasparenza o la qualità massima; per immagini senza canale alpha, formati come RGB_565 occupano meno spazio. Infine, utilizza BitmapFactory.Options con le proprietà inJustDecodeBounds per leggere le dimensioni di un’immagine senza caricarla completamente in memoria, permettendoti di calcolare il fattore di ridimensionamento ideale prima del caricamento effettivo.