2009-07-08 19 views

Répondre

11

En ce qui concerne un programme Android, il n'y a pas de main(). Le système d'exploitation exécute une boucle d'interface utilisateur qui appelle les méthodes que vous définissez ou remplacez dans votre programme. Ces méthodes sont probablement appelées à partir de/defined dans onCreate(), onStart(), onResume(), onReStart(), onPause(), onStop() ou onDestroy(). Toutes ces méthodes peuvent être remplacées dans votre programme.

Le problème fondamental est que le système d'exploitation est conçu pour s'exécuter dans un environnement à contrainte de ressources. Votre programme doit être prêt à être arrêté et même complètement arrêté chaque fois que le système d'exploitation a besoin de plus de mémoire (il s'agit d'un système d'exploitation multitâche). Afin de gérer votre programme doit avoir certaines des fonctions énumérées ci-dessus.

Le cycle de vie d'activité décrit ce mieux (votre programme est une ou plusieurs activités, pensez à une activité d'écran):

http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

Bottom line: Votre programme « commence » à onCreate() par onResume() mais le système d'exploitation exécute la boucle. Votre programme fournit des rappels à l'OS pour gérer tout ce que le système d'exploitation lui envoie. Si vous mettez une longue boucle à n'importe quel point dans votre programme, il semblera se bloquer parce que le système d'exploitation (en particulier le thread de l'interface utilisateur) est incapable d'obtenir une tranche de temps. Utilisez un fil pour les longues boucles.

1

Peut-être il est possible en créant une horloge et exécuter des fonctions personnalisées à chaque tick, réinitialiser le compteur quand il est à un moment précis

+0

Cette fonction principale ne peut vraiment pas être considéré de cette façon. – partlov