#java #android #memory #memory-leaks #leakcanary
Вопрос:
Я много читал, что final context
внутри анонимного класса может произойти утечка памяти.
Но в моей реализации при нажатии на элемент использование MyActivity.this
внутри анонимной реализации может привести к утечке контекста?
Это то же самое, что и популярная причина утечки памяти (окончательный контекст)?
функция загрузчика асинхронна, и для завершения требуется X секунд.
public class MyActivity { @Override protected void onCreate(Bundle savedInstanceState) { //..... //..... MyAdapter adapter = new MyAdapter(persons, new MyAdapter.ItemListener() { @Override public void ItemListener(final Person person) { if (person != null) { loader(MyActivity.this, person); } } }); recyclerView.setAdapter(adapter); } }
Комментарии:
1. Пока экземпляр прослушивателя элементов существует, он будет ссылаться на вашу активность, которая все еще может ссылаться на ваш контекст, так что да, это может быть утечка памяти. Если это так, то нельзя сказать наверняка, не изучив всю вашу кодовую базу.
2. Что ты ищешь? адаптер?