memória de drawables, é melhor ter recursos dentro APK, fora APK ou é o mesmo para a memória?

StackOverflow https://stackoverflow.com/questions/2005916

  •  18-09-2019
  •  | 
  •  

Pergunta

Eu tenho um aplicativo que desenha um monte de gráficos e alterá-las. Desde que eu tenho muitos gráficos, pensei de ter as imagens fora do APK, baixado da internet, conforme necessário, e salvo na pasta da aplicação arquivos.

Mas eu comecei a ficar exceções OutOfMemory.

A pergunta é: Será que android diferente memória alça se eu carregar um gráfico de APK do que se eu carregá-lo de 'disco'

código usando APK:

topView.setBackgroundResource (R.drawable.bg);

código se imagem é APK fora:

Drawable d = Drawable.createFromPath (PATHNAME); topView.setBackgroundDrawable (d);

Graças

Daniel

Foi útil?

Solução

Não, internamente eles são tratados da mesma. Muito provavelmente, você está vazando as imagens, ou não limpá-los tão rapidamente quanto você poderia. Tente chamar Bitmap.recycle(); uma vez que você é feito com uma imagem, para forçar Android para limpá-lo.

Outras dicas

Durante a execução, o consumo de memória que você está vendo deve ser sobre a mesma, não importa o caminho que você carregá-lo. Android vai usar um utilitário para recursos byte-align internos ao apk que deve melhorar os tempos de carregamento.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top