Byte enorme [] no meu aplicativo após o HPROF
De tempos em tempos, especialmente ao implementar novas funcionalidades no meu aplicativo, uso DDMS + HPROF para analisar o uso de memória e heap. Como o aplicativo parece não ter nenhum problema de desempenho - ANR e tudo funciona sem problemas, inicialmente eu não me importei com isso - mas agora, como vejo que é quase sempre do mesmo tamanho, estou me perguntando o que diabos isso pode fazer. estar.
Sempre que executo um HPROF, verifico oSuspeitos de vazamento aba. Sempre há umandroid.graphics.Bitmap
instância que ocupa aproximadamente 25% de toda a pilha usada.
Eu queria saber um pouco mais sobre o que é isso, então abri oárvore dominadorae viu o seguinte:
Então, basicamente, há uma enormebyte[]
instância que está retendo muita pilha eNunca é liberado. De acordo comesta, Copiei o valor dissobyte[]
, jogou-o em um.data
arquivo, aberto com o Gimp, e há o resultado:
Então, basicamente, parece que o"alfa (0)" parte de uma imagem PNG. Tendo em consideração os seguintes fatos:
Todos os meus arquivos de imagem têm tamanho <8KApenas alguns deles são PNG - o restante que eu consegui converter para JPG, eu fizNão importa se eu adicionar mais imagens, o tamanho dessabyte[]
sempre foi aproximadamente o mesmo desde o início do aplicativo (4 meses atrás)Para depurar, tentei removerqualquer arquivo de imagem dodrawable
edrawable-xxx
pastas e execute o aplicativo sem nenhum recurso extraível e osbyte[]
ainda estava láTirei quase todos os layouts e deixei apenas a funcionalidade básica e o mesmo resultadoNoÁrvore dominadora, a classe raiz éandroid.graphics.Bitmap
Alguém sabe o que é issobyte[]
e se eu deveria fazer alguma coisa para liberá-lo?
Qualquer ajuda apreciada!