Qué cosas se ejecutan en el hilo principal de la interfaz de usuario al abrir una aplicación para Android

Tengo una aplicación para Android que tiene TabLayout como esto:

Introduzca aquí la descripción de la imagen

Cada pestaña carga un fragmento y hay 6 tabs.

También tiene un cajón de navegación como este:

Introduzca aquí la descripción de la imagen

Al hacer clic en las opciones se abre una nueva Actividad.

También hay pocos botones en la barra de herramientas y en el clic de que nueva actividad se abre.

La aplicación también tiene el panel Deslizante como este:

Introduzca aquí la descripción de la imagen

El problema es que cuando abro la aplicación, después de unos segundos me muestra:

Introduzca aquí la descripción de la imagen

Cuando esto viene puedo ver en el logcat que

La aplicación puede estar haciendo demasiado trabajo en su hilo principal

La solución para ello se da aquí

(Este mensaje sólo aparece en algunos de los dispositivos) cuando hacemos clic en "Aceptar", la aplicación continúa ejecutándose, pero nuevamente después de unos segundos aparece el mismo mensaje. He notado una cosa más que cuando dejo la aplicación abierta por un período más largo de tiempo, entonces este mensaje no viene y la aplicación se ejecuta sin problemas.

Quiero saber que las otras actividades también se carga para ejecutar en el hilo principal de la interfaz de usuario cuando abrimos la aplicación de Android?

Creo que los Fragmentos utilizados en ViewPager se cargarán en el hilo principal de la interfaz de usuario al abrir la aplicación.

El código para agregar fragmentos a ViewPager es así:

tabLayout = (TabLayout) findViewById(R.id.tabLayout); viewPager = (ViewPager) findViewById(R.id.viewPager); viewPagerAdapter = new ViewPagerAdapter(getSupportFragmentManager()); viewPagerAdapter.addFragments(new HomeFragment(), "Home"); viewPagerAdapter.addFragments(new TrendingFragment(), "Best Deals"); viewPagerAdapter.addFragments(new HomeServicesFragment(), "Home Services"); viewPagerAdapter.addFragments(new EntertainmentFragment(), "Entertainment"); viewPagerAdapter.addFragments(new FashionFragment(), "Fashion"); viewPagerAdapter.addFragments(new VehicleServicesFragment(), "Vehicle Services"); viewPagerAdapter.addFragments(new OthersFragment(), "Other Services"); viewPager.setAdapter(viewPagerAdapter); tabLayout.setupWithViewPager(viewPager); 

También quiero saber si puedo utilizar AsyncTask para cargar este TabLayout? Una vez más no sé qué línea es responsable de la actualización de la interfaz de usuario en el código anterior. No estoy seguro si esto ayudará a resolver el problema o no?

Mi problema de conseguir el mensaje

La aplicación puede estar haciendo demasiado trabajo en su hilo principal

Está resuelto, y ahora estoy pensando en escribirlo aquí. El problema estaba allí en las imágenes drawables , yo estaba teniendo una imagen con menos tamaño pero de alta resolución y estaba utilizando que en el ViewPager . Al cambiar las imágenes, el problema desapareció.

Bien, he hecho una pregunta más:

Quiero saber que las otras actividades también se carga para ejecutar en el hilo principal de la interfaz de usuario cuando abrimos la aplicación de Android?

Esta pregunta puede sonar poco conectada porque como sabemos que cada actividad tiene su propio ciclo de vida y se crea y destruye de acuerdo con eso. Por lo tanto, por supuesto sólo la actividad principal con filtro de intención con categoría como LANZADOR se carga cuando la aplicación se carga. Hice esta pregunta porque estaba creando muchos archivos SharedPreferences en el subproceso principal de la interfaz de usuario en otras Activities . Así que pensé que la creación de SharedPreferences archivo puede ser una razón para el problema.

  • Uso de Volley con adaptador de sincronización
  • Creación de vistas dentro de un hilo de trabajo
  • Especificaciones sobre el uso de Looper.prepare () en Android
  • Diferencia entre android runOnUiThread y código simple en java
  • Volátil y sinchonizado en AsyncTask
  • Cómo administrar Loopers y Threads (el hilo no muere más!)
  • ¿Cómo comprobar FileLock sin truncar el archivo?
  • SQLite database, multithreading, bloqueos y sincronización de cuentas en android
  • Thread, Asynctask o intentService para mi aplicación?
  • Cómo enlazar una actividad a un servicio y controlar y administrar el servicio desde la actividad
  • Android: Errores de archivo IO
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.