可能的重复:如何停止应用程序和服务的运行?
我已经安装了一些我最喜欢的应用程序,但事实是它们都认为它们太重要了,无法自动启动。在应用程序中,它们都不给我任何选项来禁用自动启动的“功能”。
我可以阻止这些应用程序从自动启动吗?
注意:我的手机没有植根,所以我对不需要植根设备的解决方案特别感兴趣,但是欢迎所有答案,即使它们需要植根也是如此。设备,因为我最终可能会这样做。
还请注意:我宁愿不要在任务杀手程序中摆弄笨拙的自动杀手功能,因为我发现它们非常不可靠在我的手机上(Motorola Milestone / Droid)。
#1 楼
请,请,请放下任务杀手。不需要。操作系统知道如何很好地处理和终止应用程序。否则,您将浪费性能/电池,因为当您杀死某个任务时,它将重新生成备份。而且,如果您杀死了正在写入磁盘(或数据库)的任务,则有可能造成损坏。
您唯一一次应该杀死一个任务的时间就是疯狂运行或挂断电话(通常会在这种情况下出现“强制关闭”屏幕。如果没有,请转到“设置”->“应用程序”->查找您的应用程序并在那里终止任务)。
评论
坦白说,我不介意(例如)重启后自动运行而无需触摸地图的情况(例如)。它不需要存储任何数据。无论如何写到磁盘上是做什么的?实际上,我不会运行自动运行的任务杀手(实际上是具有讽刺意味的)。
–吕克
13年2月18日在22:15
#2 楼
周围有一些应用程序声称会提供此功能。但是,它们基本上是后台的任务杀手。这意味着他们将允许该应用加载,然后将其杀死。这意味着将使用多余的电池电量来杀死该应用程序,然后可能会在以后的某个事件触发器上重新加载该应用程序,然后再次将其杀死。老实说,如果您使用这些应用程序,并且不想卸载它们,那么最好的办法就是让它们加载。只要有一些未使用的内存,它们就会占用一点内存。只要有东西需要内存,系统就会杀死该应用程序-相信我,与任何愚蠢的任务杀手相比,Android系统对杀死哪些任务有更好的了解。
这里有一个很好的说明,说明为什么任务杀手不是一个好主意:http://forum.xda-developers.com/showthread.php?p=6426198#post6426198
否则,无法在无根电话上执行此操作,除非该应用程序专门提供了禁用自动启动的选项。但是,在有根电话的情况下,有许多应用程序可以实际更改将广播意图传递给应用程序的方式,这意味着可以抢先阻止它们启动。
我很难想到一个原因,一个应用可能想要在启动时加载服务,而仅仅通过注册广播侦听器是无法实现的。服务通常应用于寿命有限的后台任务。某些应用程序可能会在启动时加载服务以进行一些处理,但是通常会在处理完成后将其关闭。
但是,并不是所有的开发人员都了解规则。我宁愿卸载使用此类资源的写得不好的应用程序。
评论
这些都是很好的观点,随着新设备获得处理能力和内存,任务杀手最终可能会灭绝。尽管如此,我的问题并不是源于对应用程序浪费资源的担忧,而是源于对应用程序的观察,这些应用程序过于有用,无法完全卸载,但在实现过程中显然存在错误-从字面上讲,把我的手机变成一个迷你空间加热器。
– Aaronaught
2011年11月28日在21:42
明白了虽然任务杀手方法肯定适用于仅响应电话启动事件的应用程序,但某些应用程序也会响应其他事件(例如,位置更改,SMS到达,电子邮件,来电,应用程序安装/卸载等)。对于这些应用程序,任务杀手将在每次加载时永久重新关闭该应用程序。在这种情况下,它可能是一个有用的工具,但请注意它。
–马丁
11年11月28日在22:24
``当然,我不会问我是否对任务杀手感到满意-但要提及的是,我们专门谈论的是启动应用程序,这意味着目标并不是要完全阻止应用程序运行(否则它们是d将其卸载),只是为了更好地控制它们的运行时间。
– Aaronaught
2011-11-28 23:04
我已经更新了答案,希望能澄清一下。我只是看到其他答案中推荐了许多任务杀手,因为这不是您想要的。我对Android来源非常熟悉,并且基本上想在那儿说,除非您的手机扎根,否则所有解决方案都依赖于启动任务后终止该任务。
–马丁
2011年12月2日在21:12
您能否启发我“能够实际改变广播意图向应用程序传递方式的应用程序范围”。请告诉我三个。也许还有一些关键词可以搜索其余的关键词。如果您知道的话,添加它们的差异。
–Robert Siemer
13年4月9日在12:55
#3 楼
Android是专门为资源受限环境设计的操作系统。 Android会智能地管理资源,并在其他应用程序需要使用内存时将其杀死,并在以后恢复它们以恢复服务。与其他一些手机不同,后者通过一次只允许一个正在运行的应用程序牺牲了基本的智能手机功能(如多任务处理)。关于Android如何确定如何复活应用程序,它主要由Intents决定。当某些事件发生时,应用程序可以注册以由OS通知。电话启动,您要输入的特定位置,wifi开启等。处理通知(Intent)时,该应用程序(或其一部分)可能会恢复。从某种意义上讲,从概念上讲,在Android中,所有已安装的应用程序始终始终运行,并且从概念上讲,您具有无限的内存。操作系统将根据需要终止并恢复应用程序,以保持这种幻觉。
评论
我讨厌讨厌的答案...或者实际上根本没有答案!操作系统不会保持任何幻想,但是会使电话变慢,因为无休止的应用程序一直挂在内存中,并且操作系统不断被杀死并启动。 –此问题询问如何防止应用程序运行。
–Robert Siemer
13年4月9日在12:58
#4 楼
您实际上并不需要运行任务杀手。请参阅:我真的需要安装任务管理器吗?Android上的应用程序运行良好。如果某个应用程序正在自动启动,那是因为它需要启动。设计良好的应用程序可能会或不一定真正需要自动运行,它们的设置中有一个选项可以打开或关闭它。
请注意,与您的PC不同,拥有额外的RAM不会提高性能非常。启动您的常用应用程序时最好将它们放在RAM中,这样就无需加载它们。在Android上运行很少甚至没有可用的RAM都是一件好事,而OS可以很好地杀死不需要的东西。
评论
嗯,自动启动的应用程序示例是即时消息客户端,这使我在不需要时可以上网,而我怀疑同步客户端会消耗很多电池。
–路易斯·瑞斯(Louis Rhys)
2010-10-20 8:15
感谢您提供的信息,小的可用RAM是一件好事,+ 1 :)
–路易斯·瑞斯(Louis Rhys)
10-10-20在8:16
我见过的每个为您同步的应用程序都允许您修改其同步频率。减少使用频率会减少电池的消耗。
–ale
2010-10-20 12:33
#5 楼
我建议使用应用程序自动启动。它的功能(摘自市场描述):
始终控制手机:了解背后的应用程序在做什么您的
后退。
向您显示哪些应用在电话启动时运行,以及哪些其他事件在后台触发。 root用户可以禁用不需要的自动启动
并加快电话启动速度。
#6 楼
尽管不是专用于此目的的应用程序,但System Tuner免费应用程序具有禁用“启动应用程序”的功能。您可以通过滚动以下应用程序中的按钮列表并选择“应用”,然后选择“启动”标签。
这似乎比其他启动管理器执行的方式要好得多。
我不确定它的工作原理是否完全相同自动任务杀手,或者明确需要root用户(系统调谐器的其他功能实际上可能是需要root用户的功能)
#7 楼
我怀疑您可以在不扎根手机的情况下解决此问题。但是,如果您准备扎根,则可以尝试使用自动运行管理器。评论
这些看起来很有希望,特别是第二种,因为它明确描述了root行为和对所有触发事件的控制(不仅仅是系统启动)的不同行为。我会尽快尝试。
– Aaronaught
2011年12月2日,下午16:47
#8 楼
您可以使用“启动清理器”之类的应用程序或其他类似的应用程序评论
似乎只是一个任务自动杀手;您可以确认还是否认?
– Aaronaught
2010-09-14 18:32
其实我相信是这样。 :-(
–拉维·维亚斯(Ravi Vyas)
2010-09-15 0:34
+1用于提供指向工具的链接,这些工具至少提供了实现我一直在寻找的东西的机会。
–uTubeFan
2011-09-22 23:08
评论
您可以在应用启动后将其杀死,但与您的问题的要求相抵触。这些应用程序真的会产生那么多的开销吗?如果是这样,我会寻找无法自动启动的替代应用。这并不是真正的开销问题,更多的是错误问题。它们似乎可以很好地交互运行,但是我已经看到它们莫名其妙地吞噬了大量的CPU,因此在后台消耗了电池。然后还有像Google财经这样的应用程序,它们没有任何业务可以自动启动。我当然会寻找替代品,但正如我确定您所知道的,要找到一个完美的选择并不总是那么容易。
这对于Android来说是很正常的行为。 Android通过触发Intent来管理正在运行的应用程序。在大多数情况下,您不需要控制/杀死自动运行的应用程序,Android可以智能地管理资源,并且在内存受限的情况下,将根据需要杀死和恢复应用程序以提供所需的尽可能多的服务。但是,如果某个特定的应用程序有令人不安的行为(例如,始终打开GPS / Wifi并耗尽电池),则只需将其卸载即可。
我发现Android Assistant在某种程度上很有用,因为它实际上不是“预防者”,而是“杀手”(在任务开始后),并且有些应用程序/服务无法处理,并且要求用户执行强制手动关闭它们。
将android.stackexchange.com/questions/2258/…合并为这个问题