Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo evitar onCreateView () al deslizar en las pestañas

Tengo una aplicación con una actividad y 3 lengüetas deslizable (fragmentos). Tengo algunos elementos de la interfaz de usuario muy creados dentro de las pestañas que tardan algún tiempo en crearse y está bien para la primera ejecución, pero las vistas se recrean cada vez que las deslizo.

Cuando selecciono una pestaña, la otra pestaña llama a onStop () y cuando vuelvo a seleccionar la pestaña anterior, onCreateView () se vuelve a llamar y la vista se vuelve a llenar, lo que ralentiza y bloquea el subproceso de la interfaz de usuario.

¿Cuál es la forma correcta de crear fragmentos dentro de pestañas UNA VEZ y evitar recrear su vista al pasar entre otras pestañas?

  • Tab + ViewPager no se actualiza en su lugar muestra advertencia extraña estado esperado 3 encontrado 2
  • poner pestañas en la parte inferior de la pantalla
  • ¿Qué evento se activa cuando se selecciona un fragmento de ficha?
  • Android SlidingTabLayout con iconos
  • Fragmentos de Android con pestañas y Viewpager
  • El texto de la presentación de la etiqueta deslizante es mayúscula
  • Pestañas de la barra de acciones anidadas (con ViewPager)
  • Android: ¿Cómo agregar iconos / drawables a la PagerTabStrip de la versión 4 de Android Support Lib?
  • 3 Solutions collect form web for “Cómo evitar onCreateView () al deslizar en las pestañas”

    Para agregar a lo que CommnosWare declaró, si está utilizando un paginador de vista, simplemente puede llamar a mViewPager.setOffscreenPageLimit(3); Para mantener los tres en la memoria. Pero si su interfaz de usuario es demasiado pesada, puede notar algún jank. Intente revisar su código de configuración de la interfaz de usuario.

    Tengo algunos elementos de interfaz de usuario muy creados dentro de las pestañas que tardan algún tiempo en crearse

    Si "algún tiempo" es más de ~ 5 milisegundos, su aplicación está rota y necesita ser corregida. Utilice Traceview para determinar con precisión dónde está gastando su tiempo y, a continuación, repare los asuntos para que tome menos tiempo en el hilo principal de la aplicación.

    ¿Cuál es la manera correcta de crear fragmentos dentro de las pestañas UNA VEZ y evitar recrear su vista al pasar entre otras pestañas?

    AFAIK, FragmentPagerAdapter no debería tener el efecto que está describiendo (aunque FragmentStatePagerAdapter hará). Pero, de nuevo, si soluciona su problema de rendimiento onCreateView() , incluso FragmentStatePagerAdapter no publicará ningún problema.

    Simplemente agregue el código siguiente dentro de la clase Fragmento / Actividad principal donde TabAdapter declaró.

     viewPager.setOffscreenPageLimit(tabLayout.getTabCount()); 

    Las tabLayout y viewPager como sigue

     TabLayout tabLayout = (TabLayout) root.findViewById(R.id.tab_layout); ViewPager viewPager = (ViewPager) root.findViewById(R.id.pager); 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.