Android - Evitar tela branca na inicialização
Como todos sabemos, muitos aplicativos Android exibem uma tela branca muito brevemente antes do primeiroActivity
entra em foco. Esse problema é observado nos seguintes casos:
Aplicativos Android que estendem o mundoApplication
classe e execute as principais inicializações nela. oApplication
O objeto é sempre criado antes do primeiroActivity
(um fato que pode ser observado no depurador), então isso faz sentido. Esta é a causa do atraso no meu caso.
Aplicativos Android que exibem a janela de visualização padrão antes da tela inicial.
Configuraçãoandroid:windowDisablePreview = "true"
obviamente não funciona aqui. Também não posso definir o tema principal da tela inicial paraTheme.Holo.NoActionBar
como descritoaqui, porque [infelizmente] minha tela inicial faz uso de umActionBar
.
Enquanto isso, aplicativos que não estendem oApplication
classenão mostre a tela branca na inicialização.
O ideal é que as inicializações executadas noApplication
objeto precisa ocorrerantes o primeiroActivity
é mostrado. Então, minha pergunta é: como posso executar essas inicializações na inicialização do aplicativosem usando umApplication
objeto? Possivelmente usando umThread
ouService
, Eu suponho?
Este é um problema interessante para se pensar. Não consigo contorná-lo da maneira usual (definindo oNoActionBar
tema), como tragicamente minha tela Splash realmente tem umActionBar
devido a algumas razões não relacionadas.
Nota:
Eu já me referi às seguintes perguntas:
Como corrigir tela branca no aplicativo Iniciar?
A tela inicial do Android é branca no começo?
Tela branca antes da tela inicial
Fundo branco quando o aplicativo Android é iniciado
Por que uma tela branca aparece por 1 segundo ao iniciar a execução dos aplicativos no Android?
Referências:
Padrões - telas de lançamento.