ViewPager setCurrentItem congela el subproceso de la interfaz de usuario

Estoy usando un ViewPager de la ayuda v13 de Androide y quisiera desplazarme a un artículo específico usando setCurrentItem(int) , pero cuando trato de desplazar más de 2 páginas la aplicación congela, y después de algunos segundos el sistema muestra una ANR ventana.

He intentado aumentar el límite de pantalla fuera de pantalla usando setOffscreenPageLimit(2) , de esa manera no se congeló cuando intenté desplazar 2 páginas, pero hizo lo mismo para 3 páginas.

Mi problema es que mis fragmentos son bastante memoria consumiendo así que no me gustaría tener demasiado en memoria. He utilizado el mismo código con la biblioteca de soporte v4, pero tuve que actualizar a v13 para utilizar NotificationCompat.Builder.addAction(int, CharSequence, PendingIntent) .

¿Alguno de ustedes sabe cuál podría ser el problema, y ​​cuál podría ser la solución?

¿Su adaptador está manejando cantidades muy grandes de artículos? (Muy grande> ~ 2 20 artículos)

ViewPager.populate(int) hará un bucle de la posición actual del elemento a N , que es el número de elementos en el adaptador – por lo que si lo ha configurado en algo grande (como Integer.MAX_VALUE ) esto tomará algún tiempo, pero Terminará finalmente.

Si este es tu caso, busca preguntas relacionadas con "paginador sin fin", como Endless ViewPager android , o limita el número de elementos a algo que sea razonable para el subproceso principal.

  • Biblioteca de soporte de diseño de Android: NavigationView código fuente
  • Problema de Android con la implementación de flings en NestedScrollView
  • Biblioteca de soporte de Android v4: 22 + crashing pre Lollipop en attr / in drawables
  • Actualizar Android Support Library a 23.2.0 causa error: XmlPullParserException Archivo XML binario línea # 17 tag <vector> requiere viewportWidth> 0
  • Clase FileProvider de Android no encontrada en versiones de lanzamiento
  • No se pueden utilizar Fragmentos con el paquete de compatibilidad con Android
  • NoClassDefFoundError al ejecutar PopupMenu usando la biblioteca android-support-v7-appcompat en android
  • Desactivar la hamburguesa para animar las flechas
  • ¿Cómo puedo saber qué versión de Android Support Library v4 utilizo?
  • La vista de reciclaje dentro de NestedScrollView hace que el desplazamiento comience en el centro
  • Android NestedScrollView fillViewport se extiende incorrectamente
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.