Выбор ответа Junior Производительность и утечки памяти спрашивают часто обновлено
Что такое утечка памяти в Android
Вопрос
Что такое утечка памяти в контексте Android-приложения?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Ненужный объект, который не собрать: на него держит ссылку живой GC root. Сборщик мусора освобождает объекты, до которых нельзя добраться от GC roots.
Варианты ответа
- Любое использование больше 100 МБ памяти, после которого система убивает процесс
- Ситуация, когда сборщик мусора запускается слишком часто и тормозит интерфейс
- Запись данных в файл без закрытия потока, из-за чего растёт размер кучи
- Ненужный объект, который не собрать: на него держит ссылку живой GC rootправильный ответ
Разбор
Сборщик мусора освобождает объекты, до которых нельзя добраться от GC roots. Если ненужная Activity достижима через статическое поле, синглтон, живой поток или незарегистрированный листенер, она останется в памяти вместе со всей иерархией view. Большой расход памяти сам по себе не утечка, частый GC это симптом, а незакрытый файловый поток это утечка ресурса, а не памяти Activity.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.