2010-08-21 27 views
1

J'ai un écran de démarrage/écran de chargement qui a .setVisibility() à GONE juste après l'appel de dessin de mon grand bitmap est terminée. Le problème est que l'écran de démarrage prend un peu à popup qui, je crois, est dû à l'activité principale de démarrage et de faire des applications intensives de CPU lors de la première exécution. Y at-il un moyen d'afficher mon écran de démarrage dès que possible? Est-ce que ça irait si je l'avais dans un fil différent? L'écran de démarrage est juste un bitmap avec un ProgressBar juste en dessous. Ma mise en page est basée sur xml donc je ne me vois pas en utilisant setContentView. Merci.Écran de démarrage android/écran de chargement

+0

Si vous voulez une vérification de l'écran de démarrage de chargement: http://blog.blundell-apps.com/tut-splashscreen-with-progress-bar/ – Blundell

Répondre

6

Serait-il correct si je l'avais dans un autre thread peut-être?

Dans android, lorsque nous construisons une application, nous devrons peut-être afficher un écran d'accueil (écran d'accueil) pour que les utilisateurs intimes quelque chose & faire quelques other process in background (comme l'extraction de données de DB, Parsing XML, etc. .), donc pour cela il est préférable de l'implémenter dans un thread différent.

J'ai référé l'exemple sur le site www.androidpeople.com pour le SPLASH SCREEN, vous pouvez également jeter un oeil à ce example of SPLASH SCREEN.

+0

Après avoir examiné le code, puis-je demander si ce code 'faire un autre processus dans backgroud'? – SolessChong

+0

@SolessCHong désolé, je n'ai pas compris votre point de question. –

+0

Je voulais dire, votre solution fonctionne très bien pour créer un écran d'accueil. Cependant, dans mon scénario, lorsque j'essaie de charger un webview dans 'MainActivity', cela peut ne pas fonctionner, car le code semble initialiser le' MainActivity' seulement après l'expiration du temps d'attente. – SolessChong

0

Vous pouvez essayer de régler la Splashscreen comme un thème à votre activité

2

Vous souhaitez qu'un thread distinct exécute des tâches en arrière-plan, tout en affichant la progression au premier plan et appelle la méthode setVisibility (...) que vous indiquez après cela.

Je suis venu dans ce tutoriel: http://www.41post.com/4588/programming/android-coding-a-loading-screen-part-1

Je l'ai trouvé excellent, il est facile à mettre en œuvre, une seule classe et après la partie 2 vous apprendrez comment se débarrasser vraiment du AsyncTask definitevely (http: //stackoverflow.com/questions/3077461/asynctask-threads-never-die-android).