Как избежать утечек памяти в RecyclerView ViewHolder? - PullRequest
0 голосов
/ 27 апреля 2019

У меня есть RecyclerView с заголовком с ViewPager.Поскольку нет способа заставить ViewPager переворачивать представления автоматически, я добавил в ViewHolder запускаемый объект для этого.Таким образом, исполняемый файл продолжает работать, даже когда другое действие открыто и нет способа остановить его.Единственный момент, когда запускаемый файл - это когда все приложение закрыто.

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

handler.postDelayed(this, delay);

Нет способа позвонить:

handler.removeCallbacks(runnable);

Есть ли способостановить работоспособный / любой другой способ перевернуть ViewPager?

1 Ответ

0 голосов
/ 27 апреля 2019

Так например ...

если вы используете ViewPager внутри RecyclerView, вам следует создать метод, подобный

public static void stopHandler(){
   handler.removeCallbacks(runnable);
}

public static void resumeHandler(){
   handler.postDelayed(runnable,DELAY_MS);
}

и вызовите stopHandler в onPause / onDestroy и resumeHandler в методе onResume.

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