Como gerenciar bitmaps
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Testar o Compose
O Jetpack Compose é o kit de ferramentas de interface recomendado para Android. Aprenda a mostrar gráficos no Compose.
É complicado carregar bitmaps em apps Android por vários motivos:
- Os bitmaps podem esgotar o total de memória de um app com facilidade. Por exemplo, a
câmera do smartphone Pixel tira
fotos de até 4048 x 3036 pixels (12 megapixels).
Se a configuração de bitmap usada for
ARGB_8888
,
o padrão para Android 2.3 (nível 9 da API) e versões mais recentes, carregar uma única
foto vai ocupar cerca de 48 MB de memória (4048*3036*4 bytes). Uma demanda de memória tão grande
quanto essa pode esgotar toda a memória disponível para o app.
- Carregar bitmaps na linha de execução da IU pode prejudicar a performance do seu app, causando
lentidão na resposta ou até mesmo em mensagens ANR. Portanto, é importante gerenciar adequadamente
as linhas de execução quando for trabalhar com bitmaps.
- Caso seu app esteja carregando vários bitmaps na memória, você vai precisar gerenciar
o armazenamento de cache em disco e na memória com cuidado. Caso contrário, a capacidade de resposta e a fluidez da IU do seu app
podem ser afetadas.
Na maioria dos casos, recomendamos que você use a biblioteca Glide
para buscar, decodificar e mostrar bitmaps no seu app. A Glide abstrai a maior parte da complexidade
no processamento dessas e
outras tarefas relacionadas ao trabalho com bitmaps e outras imagens no Android.
Para saber mais sobre como usar e fazer o download do Glide, visite o
repositório Glide (link em inglês) no GitHub.
Você também pode trabalhar diretamente com as APIs de nível inferior integradas no framework do Android.
Para saber mais sobre como fazer isso, consulte
Como carregar bitmaps grandes de maneira eficiente,
Como armazenar bitmaps em cache e
Como gerenciar a memória de bitmap.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2024-06-28 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Não contém as informações de que eu preciso"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Muito complicado / etapas demais"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Desatualizado"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"Problema na tradução"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Problema com as amostras / o código"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Outro"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Fácil de entender"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Meu problema foi resolvido"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Outro"
}]
{"lastModified": "\u00daltima atualiza\u00e7\u00e3o 2024-06-28 UTC."}
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2024-06-28 UTC."]]