Je ne trouve pas d'option pour arrêter un programme en cours d'exécution (que ce soit en mode débogage ou en mode version).
Donc pour l'instant, j'arrête le programme (en retournant le contrôle à Eclipse) simplement en fermant l'émulateur.
Existe-t-il une meilleure façon de le faire? Telle que je n'ai pas besoin de fermer (et redémarrer) l'émulateur?
android
eclipse
android-emulator
Android Eve
la source
la source
RemoteException sending setActive(false) notification
dans la fenêtre logCatCeux qui trouvent fastidieux de basculer entre les perspectives pour arrêter le programme (comme je l'ai fait), vous pouvez afficher les fenêtres des appareils dans votre perspective actuelle en sélectionnant
la source
Gardez à l'esprit que sur Android, les programmes ne «s'arrêtent» généralement que si vous terminez () ou le système les détruit lorsque de la mémoire est nécessaire. Pourquoi s'arrêter du tout? Vous n'avez pas besoin de vous arrêter pour réparer / réinstaller / re-tester, par exemple.
la source
Dans la perspective "Déboguer", sélectionnez la racine de l'application sous "Déboguer" (où se trouve la liste des threads actifs) et cliquez sur le bouton d'arrêt.
la source
Travailler pour moi.
Windows -> Ouvrir la perspective -> Autre ... -> DDMS
Pour revenir à la vue normale, il vous suffit d'appuyer sur le bouton Java en haut à droite. Vous pouvez également le faire en appuyant sur: Windows -> Ouvrir la perspective -> Autre ... -> Java
la source
cette réponse ne traite pas d'Eclipse, mais puisque cette question se pose dans une recherche Google pour arrêter un programme Android en cours d'exécution, j'aimerais proposer une méthode de ligne de commande. run
adb shell
, trouvez le PID du processus avec lequel vous voulez tuerps
, par exemple le mien était:u0_a46 2097 37 175520 19912 ffffffff 40037ebc S net.unternet.bleah.blarg
alors juste
kill 2097
et vous devriez voir l'écran principal apparaître à nouveau.la source
Ajoutez un point d'arrêt à votre code à l'endroit où vous souhaitez vous arrêter, puis exécutez-le en mode débogage en appuyant sur F11.
la source
Figure 1 - De nombreux zombies ont été tués lors de la recherche de cette réponse
Il n'est pas recommandé de tuer un processus de machine virtuelle Java d'une application Android au niveau du système d'exploitation. Malheureusement, c'est exactement ce que fait la fenêtre de périphérique eclipse "stop", tout comme System.exit () et la commande shell "kill".
Cela subvertit les méthodes normales du cycle de vie des applications telles que onStop (), onDestroy () et finalize ().
De nombreuses applications nécessitent ces méthodes pour une sortie gracieuse (par exemple, si elles utilisent des objets système tels que Sensor, MediaPlayer, Equalizer, Visualizer, etc.).
Ces objets système traînent avec des poignées de mort zombie sur les ressources système si release () n'est pas appelé explicitement pendant ces méthodes de cycle de vie. Voir fig. 1 ci-dessus. Cela peut empêcher une application de redémarrer et même nécessiter un redémarrage. C'est l'aspect ingrat.
La seule solution est de vous assurer de toujours quitter proprement votre application avec un appel à onStop () ou onDestroy () ou au moins finalize (). Le débogueur fait cela, tout comme le système d'exploitation à l'arrêt.
Vous pouvez configurer votre application pour intercepter les événements SIG_HUP afin de forcer une sortie gracieuse de la ligne de commande.
Le seul moment où vous tueriez la VM de l'application est dans l'état ANR (déjà un zombie). Les ANR doivent être corrigés. Ne déployez jamais une application pouvant entrer dans cet état. C'est extrêmement impoli.
Vous pouvez utiliser Google Analytics et le Play Store pour les surveiller lors du déploiement. Vous ne voulez pas que les utilisateurs en colère donnent des critiques ANR à une seule étoile après avoir redémarré à cause de votre application zombie. Très mauvais.
N'oubliez pas qu'Android est Linux: traitez-le comme un vrai système d'exploitation et respectez le cycle de vie de l'application, sinon vous devrez sûrement faire face à la redoutable Apocalypse Zombie.
PS: Si vous n'aimez pas l'analogie des zombies, qu'en est-il de Fantasia?
la source
Voir l'image: 1. Cliquez sur DDMS; 2. Sélectionnez l'application actuelle; 3. Cliquez sur "Arrêter"
la source