Как правильно управлять TextViews и ImageViews, чтобы они не использовали много оперативной памяти? - PullRequest
0 голосов
/ 26 августа 2018

У меня есть приложение для Android, состоящее в основном из TextViews и нескольких ImageViews, а также некоторые кнопки, все они закодированы в xml. У меня есть 4 фрагмента и MainActivity, каждый фрагмент имеет свой собственный экран для использования с нижней панелью навигации. Проблема в том, что мое приложение будет занимать до 340 МБ оперативной памяти на моем физическом устройстве, я не смог найти никаких ресурсов, объясняющих, как правильно загружать изображения и текст, чтобы они не занимали столько ОЗУ. Кто-нибудь может поделиться некоторыми ресурсами по управлению оперативной памятью для android?

Ответы [ 2 ]

0 голосов
/ 26 августа 2018

Android-студия имеет инструмент под названием Android Profiler , который позволяет вам профилировать и отслеживать использование памяти вашего приложения.Оттуда вы можете принять решение о том, что потребляет больше всего памяти вашего телефона.

Я думаю, изображения, которые вы загружаете.Вам, вероятно, нужно сэмплировать и изменять размеры изображений при их загрузке.Обычно для этого используется библиотека типа Glide .

Вот еще одна статья об Android, Управление памятью вашего приложения может дать вам некоторую информацию о том, как управлять памятью вашего приложения в целом.

0 голосов
/ 26 августа 2018

Я могу предложить вам несколько советов по уменьшению использования памяти:

- Flatten your layout, less using nest layout
- Instead of using many TextViews for layout, use can use less TextView combine with Html.from(format your text like htlm> 
- Scale your load image to a lower size
- Limit your memory leak, use this Leakcanary
- Dump your memory usage by using Dump Memory in Android Profiler of Android Studio, so that to find out variables that used most memory.

Вот и все!Я думаю, что этого достаточно для устранения неполадок с памятью и повышения производительности вашего приложения.Надеюсь, что это поможет.

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