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

我无法find停止正在运行的程序的选项(无论是在debugging模式还是释放模式下)。

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

有没有更好的方法来做到这一点? 这样,我不需要closures(和重新启动)模拟器?

我知道你想停止在模拟器上的应用程序。 为此,您可以打开设备窗口(在debugging透视图中),select进程,然后在同一窗口上按停止button。

那些发现在视angular之间切换以停止程序的单调乏味的事情(就像我一样),您可以通过select当前视angular来查看设备窗口

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

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

在“debugging”的angular度,select“debugging”(活动线程列表)的应用程序的根,然后单击停止button。

为我工作。

Windows – >打开透视图 – >其他… – > DDMS

  1. 在Android视图中,在左侧窗口中可以看到“设备”。 应该有一个正在运行的应用程序列表(仿真器或物理设备)。 点击您要closures的应用程序。 通常名称是包裹的名称+申请的名称
  2. 现在点击“停止”的符号。

要回到正常的视图,只需按右上angular的Javabutton即可。 你也可以按下:Windows – > Open perspective – > Other … – > Java

这个答案不涉及Eclipse,但是因为这个问题出现在谷歌search停止正在运行的Android程序,我想提供一个命令行方法。 运行adb shell ,find你想用ps杀死的进程的PID,例如我的是:

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

所以然后kill 2097 ,你应该看到主屏幕再次出现。

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

Android僵尸 图1 – 在这个答案的研究期间,许多僵尸被杀害

不build议在操作系统级别杀死Android应用程序Java VM进程。 不幸的是,这正是eclipse设备窗口“stop”所做的事情,System.exit()和shell“kill”命令也是如此。

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

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

如果在这些生命周期方法中没有明确地调用release(),那么这些系统对象就会在系统资源上缠着死亡僵尸。 见图。 1以上。 这可以防止应用程序重新启动,甚至需要重新启动。 这是不正确的方面。

唯一的解决办法是确保你总是通过调用onStop()或onDestroy()或至lessfinalize()来干净地退出你的应用程序。 debugging器执行此操作,就像closures操作系统一样。

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

唯一一次你会杀死应用程序的虚拟机是在ANR(已经是一个僵尸)的状态。 ANR必须固定。 切勿部署可以进入此状态的应用程序。 这是非常粗鲁的。

您可以使用Google分析和Play商店在部署中监控这些情况。 你不希望生气的用户因为你的僵尸应用程序而必须重启后给予单星ANR评论。 很坏。

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

PS:如果你不喜欢僵尸的比喻,那么幻想曲呢?

在这里输入图像说明

见图:1.点击DDMS; 2.select当前应用程序; 3.点击“停止” 在这里输入图像说明