如何停止在Eclipse下运行的程序?

时间:2011-02-11 18:32:36

标签: android eclipse android-emulator

我找不到停止正在运行的程序的选项(无论是在调试模式还是在发布模式下)。

所以现在,我只需关闭模拟器即可停止程序(将控制权返回给Eclipse)。

有更好的方法吗?这样我不需要关闭(并重新启动)模拟器?

9 个答案:

答案 0 :(得分:112)

我知道你想在模拟器上停止你的应用程序。为此,您可以打开设备窗口(在调试透视图中),选择该过程,然后在同一窗口中按停止按钮。

答案 1 :(得分:77)

那些在透视之间切换以停止程序(如我所做)的繁琐工作的人,可以通过选择

来查看当前视角中的设备窗口
  

Windows > 显示视图> 其他...... > Android >设备

答案 2 :(得分:13)

请记住,在Android上,程序通常只有在完成()时才会“停止”,或者系统会在需要内存时销毁它们。为什么要停下来?例如,您无需停止修复/重新安装/重新测试。

答案 3 :(得分:11)

在“Debug”透视图中,在“Debug”(活动线程列表所在的位置)下选择应用程序的根目录,然后单击停止按钮。

答案 4 :(得分:7)

为我工作。

Windows - >开放视角 - >其他...... - > DDMS

  1. 在Android视图的左侧窗口中,您可以看到“设备”。应该有一个正在运行的应用程序列表(模拟器或物理设备)。 单击要关闭的应用程序。通常,名称是包的名称+应用程序的名称
  2. 现在点击“停止”符号。
  3. 要返回普通视图,您只需按下右上角的Java按钮即可。 你也可以按下: Windows - >开放视角 - >其他...... - >爪哇

答案 5 :(得分:2)

这个答案不涉及Eclipse,但由于这个问题出现在谷歌搜索中停止正在运行的Android程序,我想提供一个命令行方法。运行adb shell,使用ps找到要杀死的进程的PID,例如我的:

u0_a46 2097 37 175520 19912 ffffffff 40037ebc S net.unternet.bleah.blarg

然后只有kill 2097,您应该会看到主屏幕再次出现。

答案 6 :(得分:0)

在您要停止的代码中添加断点,然后按F11在调试模式下运行它。

答案 7 :(得分:0)

Android Zombies 图1 - 在本答案的研究过程中,许多僵尸被杀害

建议不要在操作系统级别杀死Android应用程序Java VM进程。不幸的是,这正是eclipse设备窗口"停止"就像System.exit()和shell" kill"命令。

这颠覆了正常的应用程序生命周期方法,例如onStop(),onDestroy()和finalize()。

许多应用程序需要这些方法才能正常退出(例如,如果他们使用传感器,MediaPlayer,均衡器,Visualizer等系统对象)。

如果在这些生命周期方法期间未明确调用release(),则这些系统对象会在系统资源上出现僵尸死亡句柄。见图。 1以上。这可以防止应用重启,甚至需要重启。这是不合适的方面。

唯一的解决方案是确保始终通过调用onStop()或onDestroy()或至少finalize()来干净地退出应用程序。调试器执行此操作,关闭时操作系统也是如此。

您可以将应用程序设置为捕获SIG_HUP事件,以强制从命令行中正常退出。

你杀掉app VM的唯一一次是ANR(已经是僵尸)状态。 ANR必须修复。永远不要部署可以进入此状态的应用程序。这非常粗鲁。

您可以使用Google Analytics和Play商店在部署中监控这些内容。由于您的僵尸应用程序,您不希望愤怒的用户在重新启动后提供单星ANR评论。非常糟糕。

请记住,Android是Linux:将其视为真正的操作系统,并尊重应用程序的生命周期,否则你肯定会面对可怕的僵尸启示录。

PS:如果你不喜欢Zombie的比喻,Fantasia怎么样?

enter image description here

答案 8 :(得分:0)

见图: 1.点击DDMS; 2.选择当前应用; 3.点击“停止” enter image description here