Gestione delle bitmap
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Prova il metodo Scrivi
Jetpack Compose è il toolkit consigliato per la UI per Android. Scopri come visualizzare le immagini in Compose.
Il caricamento delle bitmap nella tua app per Android può essere complicato per diversi motivi:
- I bitmap possono esaurire molto facilmente il budget di memoria di un'app. Ad esempio, la
fotocamera del telefono Pixel scatta foto fino a 4048 x 3036 pixel (12 megapixel).
Se la configurazione bitmap utilizzata è
ARGB_8888
,
l'impostazione predefinita per Android 2.3 (livello API 9) e versioni successive, il caricamento di una singola
foto richiede circa 48 MB di memoria (4048*3036*4 byte). Una richiesta di memoria così elevata può esaurire immediatamente tutta la memoria disponibile per l'app.
- Il caricamento di bitmap nel thread dell'interfaccia utente può ridurre le prestazioni della tua app, causando
una reattività lenta o persino messaggi ANR. Per questo motivo è importante gestire in modo appropriato l'organizzazione in thread quando si lavora con le bitmap.
- Se la tua app carica più bitmap in memoria, devi gestire abilmente la memoria e la memorizzazione nella cache del disco. In caso contrario, la reattività e la fluidità della UI dell'app potrebbero risentirne.
Nella maggior parte dei casi, ti consigliamo di utilizzare la libreria Glide per recuperare, decodificare e visualizzare le bitmap nella tua app. Glide elimina gran parte della complessità della gestione di queste e altre attività relative all'utilizzo di bitmap e altre immagini su Android.
Per informazioni sull'utilizzo e sul download di Glide, visita il repository Glide su GitHub.
Puoi anche scegliere di lavorare direttamente con le API di livello inferiore integrate nel framework Android.
Per ulteriori informazioni su come eseguire questa operazione, consulta gli articoli
Caricamento efficiente di bitmap di grandi dimensioni,
Memorizzazione nella cache dei bitmap e
Gestione della memoria bitmap.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2024-06-28 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Mancano le informazioni di cui ho bisogno"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Troppo complicato/troppi passaggi"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Obsoleti"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"Problema di traduzione"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Problema relativo a esempi/codice"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Altra"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Facile da capire"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Il problema è stato risolto"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Altra"
}]
{"lastModified": "Ultimo aggiornamento 2024-06-28 UTC."}
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2024-06-28 UTC."]]