Android: evitar pantalla blanca al inicio
Como todos sabemos, muchas aplicaciones de Android muestran una pantalla en blanco muy brevemente antes de su primeraActivity
entra en foco. Este problema se observa en los siguientes casos:
Aplicaciones de Android que extienden el mundoApplication
clase y realizar las principales inicializaciones en el mismo. losApplication
el objeto siempre se crea antes del primerActivity
(un hecho que se puede observar en el depurador), por lo que esto tiene sentido. Esta es la causa de la demora en mi caso.
Aplicaciones de Android que muestran la ventana de vista previa predeterminada antes de la pantalla de inicio.
Ajusteandroid:windowDisablePreview = "true"
Obviamente no funciona aquí. Tampoco puedo configurar el tema principal de la pantalla de inicio enTheme.Holo.NoActionBar
tal como se describeaquí, porque [desafortunadamente] mi pantalla de inicio hace uso de unActionBar
.
Mientras tanto, las aplicaciones que no extienden elApplication
claseno haga muestra la pantalla en blanco al inicio.
La cosa es que, idealmente, las inicializaciones realizadas en elApplication
objeto debe ocurrirantes de el primeroActivity
se muestra. Entonces mi pregunta es, ¿cómo puedo realizar estas inicializaciones en el inicio de la aplicación?sin usando unApplication
¿objeto? Posiblemente usando unThread
oService
, ¿Supongo?
Este es un problema interesante para pensar. No puedo evitarlo de la forma habitual (configurando elNoActionBar
tema), ya que trágicamente mi pantalla de bienvenida en realidad tiene unActionBar
debido a algunas razones no relacionadas.
Nota:
Ya me he referido a las siguientes preguntas:
¿Cómo arreglar la pantalla blanca en la aplicación de inicio?
¿La pantalla de inicio de Android es blanca al principio?
Pantalla blanca antes de la pantalla de bienvenida
Fondo blanco cuando se inicia la aplicación de Android
Referencias
Patrones: pantallas de inicio.
Pantalla de lanzamiento de marca: el nuevo splash para Android.