2015-04-22 1 views
1

Почему?Один экземпляр «byte []», загруженный «<загрузчик системного класса», занимает 29 393 296 (40,58%) байтов

как решить?byte[]необходимо установитьnull? Eclipse, анализатор памяти

enter image description here

+0

Используются ли приложение изображения? – Emmanuel

+0

мое приложение использует изображения в recyclerview и iam с помощью xamarin. получая очень похожий вывод к этому.? beeen, используя универсальный загрузчик изображений, и ive попытался максимально оптимально с памятью. –

ответ

1

Ответ на этот вопрос зависит от того кода, как вы использовали byte[] в приложении.

Как его решить?

  • Проверьте в приложении, где вы инициализации массивов byte
  • Повторное использование элементов массива над itearation петли
  • ссылки на массив аннулирует, когда они не используются

Проверить LogCat сообщения с тегом: dalvikvm и запустите приложение. Проверьте, где

D/dalvikvm (28039): GC_CONCURRENT освободили 473, 7% бесплатно 9503K/10180K, приостановленных 2ms + 3MS, всего 22ms

Вот, смотрите на полях -

  1. 7% бесплатно 9503K/10180K -

9503K - это сумма, содержащая ссылки на живые объекты в нашем приложении. По мере прохождения внутри вашего приложения это значение будет расти. Это нормально. BUT также работает GC и пытается освободить ссылки на ресурсы/объекты, которые не связаны сильно. Если вы не нашли значение 9503K спуститесь, тогда это предупреждает нас. Это сигнал о том, что наше приложение, безусловно, утечки памяти.

Для оптимизации памяти в деталях, вы должны проверить Google IO video for memory optimization and using mat tool of eclipse

Смежные вопросы