2011-01-30 5 views
0

J'ai une mapactivity et quand je passe dessus, il faut un certain temps avant qu'il n'apparaisse car il charge la carte et l'anime à l'endroit spécifique.android activity "événement chargé"

Est-ce que l'activité a une sorte d'événement de chargement fini? Je peux y faire l'initialisation de la carte?

Merci

Répondre

1

Si je comprends bien votre question, ce n'est pas une question d'événements, c'est une question de programmation appropriée.

Si votre activité prend beaucoup de temps à s'initialiser, vous devez effectuer l'initialisation dans un fil d'arrière-plan (Android fournit le AsyncTask facile à utiliser). Lors de l'initialisation, vous devez présenter un contenu temporaire à l'utilisateur, comme un écran de démarrage, un message «Chargement ...» avec une barre de progression ou, dans votre cas, le dernier emplacement de carte (que vous avez probablement déjà mis en cache). Essayez de rendre les méthodes du cycle de vie de l'activité (onCreate, onResume, etc.) aussi courtes et aussi rapides que possible, pour rendre votre chargement d'activité plus rapide, et maintenez votre interface utilisateur sensible.

Voir l'entrée sur Designing For Responsiveness Guide du développeur

+0

mais le chargement d'une carte est une opération de l'interface utilisateur, de sorte que le thread d'interface utilisateur sera toujours occupé pendant que je le fais. Je voulais juste le faire une fois que l'activité a fini de charger, donc il est affiché à l'écran et ensuite charger la carte. –

+0

Le chargement de la carte n'est pas une opération d'interface utilisateur. L'affichage de parties de la carte chargée (ou de la totalité) est une opération d'interface utilisateur. Par exemple, vous pouvez charger des mosaïques de carte à partir du réseau (opération d'arrière-plan) et chaque fois qu'une mosaïque est chargée, affichez-la sur l'écran (opération de l'interface utilisateur) – Lior

1

This est un bon blog qui se rapporte à un truc que vous pouvez faire pour les temps de chargement et en fait, il est le même tour exact que l'application Google Maps utilise sur le G1.

Questions connexes