Ainda estou lidando com meu problema OutOfMemoryError, e agora estou com pressa porque estamos atingindo o limite de tempo do projeto.
Estou desenvolvendo para um tablet Android tudo-em-um (resolução de 1920x1080)
Meu aplicativo consiste em 3 visualizações:
Menu da categoria do livro - menu do livro (a lista de livros na categoria selecionada) - exibição das páginas do livro.
A categoria do livro e o menu do livro são muito semelhantes: Uma visualização de rolagem horizontal, que exibe a lista de (categorias / livros) (ImageViews adicionados dinamicamente para cada categoria / livro na categoria).
Quando você clica em uma categoria, o aplicativo leva você para o menu de livro dessa categoria e, quando você clica em um livro, o aplicativo leva você para a visualização do livro.
A visualização do livro é uma cópia do Android image_detail_pager e image_detail_fragment (Tutorial de exibição de bitmaps com eficiência do Android)
A 3ª tela (visualização do livro), mostra 4 imagens com resolução 1920x1080px (tela inteira) Se eu colocar essas imagens no projeto de exemplo do Android, OutOfMemoryError ocorrerá novamente.
Portanto, se o projeto do Android falhar, o que posso fazer no meu aplicativo ?.
A outra coisa, no projeto de exemplo do Android, ele carrega a imagem da Internet, minhas imagens já estão no disco.
Alguma ideia?. Ou tenho que mudar o design do meu aplicativo para um PC com Windows com um monitor de tela de toque e esquecer o Android ?. desde já, obrigado.
Respostas:
0 para resposta № 1Você está ficando sem memória Bitmap. Você pode usar imagens menores?
0 para resposta № 2
Você precisa gerenciar o Memory Cache
e a Disk Cache
para seus bitmaps evitarem OutOfMemoryError
.
Veja o link do desenvolvedor do Google, Caching Bitmaps. Você encontrará boas práticas para ajudá-lo.
E você também deve ler isto:
Carregando Bitmaps Grandes Eficientemente
Gerenciando Memória Bitmap
Se precisar de mais informações, pergunte-me. Vou completar minha resposta.