Tengo una Actividad que usa pestañas, y las pestañas cambian Fragmentos. El problema es que el Fragmento tarda unos segundos en cargarse cuando se está creando, por lo que al cambiar de pestaña tiene un retraso de aproximadamente 1 o 2 segundos. Para solucionarlo, he estado tratando de encontrar una forma de mostrar un simple gráfico de carga o incluso un diálogo de progreso, de modo que la pestaña cambie instantáneamente y muestre algo que indique que las cosas se están cargando hasta que todo se complete.Cambiar Pestañas es Lento/Laggy - Usar Fragmentos
Mi método del fragmento onCreateView
se ve así:
FrameLayout fl;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
fl = (FrameLayout) inflater.inflate(R.layout.text_layout, container, false);
doHeavyStuff();
return fl;
}
He intentado poner en doHeavyStuff()
onStart()
, pero eso no ayuda nada. Y un subproceso no ayudará porque doHeavyStuff()
implica manipular vistas/GUI.
Alguna idea sobre cómo puedo mostrar el Fragmento y mostrar la información "Cargando" mientras que todo lo demás carga?
Gracias!
Matt.
sólo estoy inflando vista en onCreateView() y eso también es lag. Entonces, ¿debería cambiar ese código de inflación como el anterior para un mejor rendimiento? – Husyn
¿Estás haciendo algo más que simplemente inflar la vista? como poblar las vistas, etc.,? Si es así, debe hacer la parte de relleno fuera de onCreateView() para evitar el comportamiento lag. – 500865
No, solo estoy inflando la vista. return inflater.inflate (R.layout.setting_list_layout, contenedor, falso); es la única línea en onCreateView(); – Husyn