Когда отменить регистрацию и очистить Список литературы, слушателей и компанию на Android? - PullRequest
0 голосов
/ 26 мая 2020

У меня есть общий вопрос, который давно был у меня в голове. Какие ссылки , переменные и прослушиватели следует удалить в связанных обратных вызовах жизненного цикла (например, onCreate <-> onDestroy)? Несколько примеров:

  • У меня есть переменная private lateinit var data: LiveData<List<String>>, которая инициализируется методом onCreate, а затем передается в переработчик. Должен ли я как-то удалить его в onDestroy?

  • Я добавляю OnScrollListener в переработчик в onCreate, следует ли мне отменить регистрацию в onDestroy?

Я спрашиваю, потому что я действительно не нашел какой-либо сжатой информации по этому поводу.

1 Ответ

0 голосов
/ 26 мая 2020

Если вы используете Activity, вам следует удалить все ссылки, Listeners и обратный вызов в ondestrory (), а если вы используете фрагменты, очистите все ваши ссылки, Listeners и обратный вызов в ondestroyView ().

Что происходит когда ваш фрагмент находится на переднем плане / Activity или при нехватке памяти, G C запускается и из-за любых ссылок, Listeners и обратного вызова, если по какой-либо причине G c не может очистить память, вы получите утечку памяти .
Таким образом, вы должны убедиться, что удалили все ссылки, прослушиватели и обратный вызов в onDestory () в случае Activity и в OndestroyView в случае фрагментов.

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