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
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. –
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