Tengo un ViewPager conectado a un FragmentPagerAdapter que muestra tres fragmentos. El ViewPager parece destruir la vista de un fragmento alojado cuando está a más de un deslizamiento de la posición actual.
Estas vistas son todas listas simples y esta optimización es completamente innecesaria, por lo que me gustaría deshabilitarla. Está causando algunos problemas visuales porque las listas tienen animaciones de diseño aplicadas y esas animaciones se reproducen después de que han sido destruidas y recreadas. También muestra la animación de introducción de la barra de desplazamiento cada vez (donde la barra de desplazamiento es brevemente visible para indicar que es posible el desplazamiento) que puede distraer, y la posición de desplazamiento actual del usuario se pierde en el proceso.
Tampoco carga el tercer fragmento hasta que ocurre el primer deslizamiento, lo cual es problemático porque cada fragmento maneja sus propias llamadas de servicio y preferiría que los tres se apaguen al mismo tiempo cuando se carga la actividad. Tener la tercera llamada de servicio retrasada es menos que ideal.
¿Hay alguna forma de convencer a ViewPager para que detenga este comportamiento y simplemente mantenga todos mis fragmentos en la memoria?