Fragmenttabhost rendimiento es lento?

He utilizado la v4 support lib para FragmentTabHost

El requisito es que cuando estoy cambiando la pestaña uno a otro y otro, que está llamando

OnCreateView () & onActivityCreated () cada vez.

Es por eso que mi rendimiento del código es lento.

Entonces, ¿cualquier otra solución? Cómo aumentar el rendimiento en la ficha fragmento?

Suena como un olor a diseño.

Rediseñe su código para que el trabajo pesado se realice de forma asíncrona. Los fragmentos deben poder construirse rápidamente. Si hay un proceso grande que se necesita hacer para que un fragmento muestre información útil, ese trabajo debe hacerse de antemano o asincrónicamente después de que se crea el fragmento y el fragmento debe ser notificado para actualizar su contenido cuando el trabajo esté completo .

Lo primero que debe cuidar es mirar acerca de los cálculos / cargar un gran conjunto de datos debe ser lugares en un hilo de trabajo diferente que el hilo principal de la interfaz de usuario. La mejor opción para hacer eso (en mi opinión) es utilizar AsyncTask . Puedes usar algo como esto en tu Fragmento:

 private class LoadData extends AsyncTask<Void, Void, Void>{ @Override protected void onPreExecute(){ super.onPreExecute(); // this is the place where you can show // progressbar for example to indicate the user // that there is something which is happening/loading in the background } @Override protected void doInBackground(Void... params){ // that's the place where you should do // 'the heavy' process which should run on background thread } @Override protected void onPostExecute(Void result){ super.onPostExecute(); // you should update your UI here. // For example set your listview's adapter // changes button states, set text to textview and etc. } } 

Esta es la manera en que puede hacer que sus pestañas funcionen más rápido. ¡Espero que esto te ayude! 🙂

Encontré una solución para eso. He insertado todos los websevices y código de transacción de base de datos en crear. Porque no creas en no llamar cada vez hasta que no te llame. Y la otra solución también está disponible, podemos usar

Fragment.show ();

& Fragment.hide (); método

Como una adición a Android-Developer: si ya está utilizando AsyncTask, recuerde que incluso cuando se utilizan múltiples AsyncTask, se ejecutan en segundo plano, pero todo de forma secuencial! Si desea más hilos para manejar sus tareas, echa un vistazo a este post, que explica perfectamente cómo lograrlo! ¿Ejecutar múltiples AsyncTasks al mismo tiempo – no es posible?

  • Botón Haga clic dentro del fragmento para abrir un nuevo fragmento
  • Android ListView en el ejemplo de fragmento
  • ¿Cómo puedo utilizar FragmentManager para mostrar Fragmento A, B, C, ... en un FrameLayout?
  • Actualizar una vista de lista en un fragmento de un receptor de difusión
  • Ciclo de vida del fragmento con respecto a su actividad
  • Fragmentos de Android que se superponen tras la rotación de la pantalla
  • Fragmentos en ViewPager se recrean
  • Pasando objetos a Fragmentos
  • Android: Viewpager y FragmentStatePageAdapter
  • Fragmento que se solapa en otro fragmento
  • Android Fragment no respeta a match_parent como altura
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.