Как использовать Android Studio Profiler для просмотра выделенных изображений - PullRequest
1 голос
/ 07 мая 2020
• 1000 составляет 237 716 272 байта (237 МБ).

Если я отсортирую кучу по типу, я обнаружу, что byte [] виноват в 234 214 768 байтах моего распределения или колоссальных 98,52% профилированной памяти.

Я вошел в представление экземпляра и могу посмотрите, что 10 byte[] верхних распределений все проходят через

createBitmap:977, Bitmap (android.graphics) 

Итак, эти byte[] явно являются изображениями. Размеры их следующие:

  • 11,137,024
  • 11,128,832
  • 9,592,832
  • 9,592,832
  • 9,592,832
  • 9,592,832
  • 9,592,832
  • 9,592,832
  • 9,592,832

Теперь в моем приложении есть пара больших полноэкранных изображений, поэтому первые два выделения имеют смысл. Что не имеет смысла, так это то, что идет после, то есть объект размером 9 592 832, повторяемый 22 раза ... или 211 МБ данных. Есть ли способ открыть byte [] из профилировщика памяти и посмотреть, что находится в некоторых из этих объектов одинакового размера? Очевидно, что устранение некоторых из них значительно улучшило бы память моего распределения. Любые другие советы или предложения приветствуются, я знал AndroidStudio и его инструменты, и я все еще копаюсь в документации и изучаю основы.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...