Unisciti al club. In qualche modo, ma non del tutto.
Il fatto è che nelle versioni pre-Honeycomb di Android la memoria per bitmap era (è) allocata dalla memoria non gestita, che crea tutti i tipi di problemi. È ancora rilasciato ma dal finalizzatore dell'implementazione dell'oggetto bitmap. Il che significa che occorreranno almeno 2 passaggi di GC per raccoglierlo. Inoltre, se per qualsiasi ragione il finalizzatore non riesce a eseguire - hai ottenuto l'immagine. Un'altra cosa è - è davvero difficile rintracciare - DDMS non lo vede e nemmeno MAT
Per Android 3.0 questo è stato cambiato e le bitmap vengono implementate su array di byte gestiti, ma per i telefoni più vecchi ...
@aryaxt: Nota che mentre il finalizzatore eseguirà un 'recycle()' per te, chiamarlo te stesso rilascia prima la memoria, il che rende molto meno probabile che si esaurisca lo spazio heap. – CommonsWare
sì .... ancora una cosa da notare .... è necessario essere sicuri che la bitmap non sia più utilizzata prima di riciclare ... altrimenti si verrebbero a trovare eccezioni quando si tenta di utilizzare una bitmap riciclata. –
Anche a partire da bitmap 3.0 di Android non si usa più l'heap nativo. –