我有一个带有ViewPager标题的RecyclerView。由于无法自动生成ViewPager翻转视图,因此我在ViewHolder中添加了一个runnable来执行此操作。因此,即使另一个Activity处于打开状态且无法阻止它,runnable仍会继续运行。所有应用程序关闭时runnable的唯一时刻。
现在,我有一个runnable,它会创建一个内存泄漏并且即使在其他活动打开时也会一直运行。我已经检查过Logcat,似乎只有在Activity被销毁后,runnable才会运行。
handler.postDelayed(this, delay);
无法打电话:
handler.removeCallbacks(runnable);
有没有办法阻止runnable /任何其他方式来翻转ViewPager?
所以例如......
如果您在RecyclerView中使用ViewPager,那么您应该创建类似的方法
public static void stopHandler(){
handler.removeCallbacks(runnable);
}
public static void resumeHandler(){
handler.postDelayed(runnable,DELAY_MS);
}
并在onResume方法中的onPause / onDestroy和resumeHandler中调用stopHandler。