Я относительно новичок в программировании и создаю приложение для практики / развлечения, но у меня возникают проблемы с пониманием использования памяти в Android (даже после 12 часов исследований). Я создал приложение для Android с Google Maps, но заметил, что профилировщик памяти Android Studio показал высокое использование памяти (всего около 90-120 МБ) даже после принудительного сбора мусора и проверки на утечки памяти.
Я в замешательстве. Несколько веб-сайтов заявляют, что каждому приложению Android выделяется ограниченный объем памяти. Я читал, что старые устройства имеют тенденцию выделять 16 МБ, в то время как более новые устройства имеют тенденцию выделять 32 МБ (что зависит от размера / разрешения экрана).
- Проблематично ли использование памяти (около 100 МБ на Android Studio
профилировщик памяти)?
- Может кто-нибудь объяснить, как память приложения
предел (указанный выше предел 16/32 МБ) относится к тому, что показано на
Профилировщик памяти Android?
- Не применяется ли ограничение при запуске
приложение от Android Studio (возможно, б / к я разрабатываю)?
- Ограничение памяти применяется только к вещам, которые нельзя собрать мусором?
- Не распространяется ли ограничение памяти на фрагмент карты Google (поскольку Google работает под управлением Android)?
Из того, что я прочитал, профилировщик может показать использование памяти, которое не имеет прямого отношения к приложению, но, похоже, не учитывает разницу между пределом выделяемой памяти и тем, что показывает профилировщик.
Когда я попытался узнать больше о происхождении разницы, я увидел, что приложение Google с открытым исходным кодом Santa Tracker показало около 90 МБ использования памяти. Я склонен думать, что это нормальный объем использования памяти, может быть, поскольку приложение использует Google Maps.