如何停止应用程序和服务运行?


65

手机启动时,我不希望在后台运行多个应用程序/服务。当我在使用某个应用程序时按“主页”按钮时,该应用程序通常会在不退出的情况下进入后台。如何停止运行这些应用程序?


这是社区维基;每个人都可以随意添加和更正答案中的信息。:)
马修(Matthew)

Answers:


65

第一件事第一

您可能对Android的工作原理以及运行服务或应用程序在后台运行时的实际情况有一些误解。另请参阅:我真的需要安装任务管理器吗?

当您切换到另一个应用程序或主屏幕时,大多数应用程序(例如,您手动启动的应用程序)都会将其当前活动置于后台。活动会占用一些内存,因此您可以返回到应用程序并从上次停下来的地方继续学习。活动通常无法在后台运行计算,因此无需使用CPU或电池。如果您担心电池寿命或CPU性能,则无需担心这些应用程序!您也不必担心内存;如果系统运行缓慢,Android将自动终止该应用程序并释放内存。

如果后台的应用程序正在运行服务,则情况可能会不同。精心设计的服务将大部分时间都花在睡觉上,不时醒来以进行偶尔的检查(例如,新的社交媒体通知)。但是,设计不当的服务可能会更频繁地运行或执行您不想要的同步操作,从而影响电池寿命和数据使用量。如果您有恶意服务,则可能需要尝试以下解决方案之一。

解决方案

如果您确定不惜一切代价使该应用程序停止运行,则可以尝试以下方法。

卸载

当某个应用执行了您不喜欢的操作时,无论是在启动时在后台运行还是其他操作,您的第一个选择就是将其卸载。问题解决了!如果您具有root用户,则可以删除系统应用程序,最简单的方法是使用Titanium Backup,但要注意仅删除运营商的过时软件,而不要删除关键的系统应用程序。

但是,如果您希望能够使用该应用程序,那么这不是一个选择:继续阅读。

对开发人员执行Ping操作

Android随附的一些最出色的守护程序是无缘无故地在后台运行的服务,或者仅用Android的AlarmManager进行简单的间隔检查就足够了。我们需要用火杀死他们,而不是无视他们。不涉及开发人员修复的所有内容都只是一种骇客行为,将导致其他负面影响。如果您遇到问题与开发人员联系,他们可以修复该应用,您可以继续正常使用它。这是每个参与人员的胜利。

手动杀死应用

首先,请注意,如果您退出其中而不是使用“主页”按钮,则许多应用程序将完全关闭。

如果您正在运行Ice Cream Sandwich或Jelly Bean,则可以转到“设置”,单击“应用程序”,然后通过跳至正在运行的应用程序来手动关闭该应用程序。或者,您可以单击“最近使用的应用程序”按钮,然后将其从屏幕上滑动以将其关闭。在较旧的Android版本中,制造商可能添加了内置的任务管理器来完成相同的任务,或者您可以下载任务管理器应用来执行此操作。有关服务,请参阅Settings -> Applications -> Services

警告:千万不能使用自动任务的杀手!自动任务杀手程序在后台运行(正是您所不想要的),并在启动时杀死应用程序。在大多数情况下,这会使情况变得更糟,因为与启动时相比,应用程序启动时通常会消耗更多的资源。自动运行并由系统重新启动的服务将一遍又一遍地被杀死,浪费您的电池。同样,接收到称为Intent(例如网络覆盖和连接更改)的系统事件的应用程序,每次启动时都会被杀死。没有任何好处。

可能的例外情况是自动任务仅在您(用户)执行特定操作时才执行。本质上,它们只是为您简化了手动任务管理。例如,当您切换应用程序时,可以使用TaskerLlama之类的应用程序来结束活动,以确保它们不会在后台停留。骆马说明:

创建一个新的Event。添加称为条件Active App,然后选择状态App stopped or in background。选择您要关注的应用程序。接下来,添加一个Action。选择Kill Application (root privileges),然后再次选择您的应用。

现在,无论何时离开应用程序,Llama都会将其杀死。

编辑自动启动和意图

如上所述,某些应用程序在收到Intent(系统事件)时可能会启动。通过使用“ 拒绝权限”之类的应用,您可以更改应用可以请求的权限,从而限制了他们可以接收哪些事件。或者,您可以使用自动启动之类的应用程序(付费应用程序)来专门编辑将哪些Intent发送到哪些应用程序。对于这两种解决方案,您都需要root访问权限。

其他选项:

(自动启动源代码也可以在这里找到:https : //github.com/miracle2k/android-autostarts

警告:这可能会导致应用停止运行或禁止使用所需功能。谨慎操作,尤其是对于关键系统应用程序。

冻结应用

您可以使用Titanium BackupApp Quarantine之类的应用程序来完成冻结应用程序,以使它们根本无法运行。如果要使用它们,则必须先解冻它们。

警告:不要与关键系统的应用程序做到这一点!您的设备可能无法启动。

使应用程序进入休眠状态

Greenify(需要Android 4.0+和ROOT特权)使用与传统的“冻结”不同的方法,称为“休眠”。

您可以安全地休眠任何您不希望其秘密运行的非系统应用程序(通过持久服务,广播接收器,警报等),实际上等同于“冻结”,同时仍保留其所有入口(启动器图标,共享目标)等等),并且在您明确运行它时具有完整功能,而无需先取消冻结。

警告:请勿使闹钟应用程序,即时消息传递应用程序和其他基本功能依赖于后台机制(计时器,系统事件,“推送”等)的应用程序休眠。

底线

Android旨在为您管理应用程序。除了最极端的情况外,在所有情况下,您都无需担心。出现问题时,建议您使用最简单的解决方案-卸载。所有其他解决方案都是围绕Android设计用途的黑客。也许有一天Android将对管理服务提供官方支持,但是在此之前要小心。


+1。精彩回答!但是“最大守护程序”是什么意思?“启动应用程序时杀死它们”是什么意思?(如果您在启动某个应用程序时就将其杀死,那么我会认为根本无法启动和使用任何应用程序。)如果您可以通过澄清的评论回复ping我,那就太好了。:)
unforgettableid

@unforgettableid“最伟大的守护程序”是对“最伟大的恶魔”和“守护程序”(服务)的播放。“杀死应用程序”并不意味着“杀死所有应用程序”。
马修(Matthew)阅读了

2
“活动通常无法在后台运行计算,因此它们没有使用CPU或电池。”-事实并非如此。没有什么可以阻止活动启动线程并在离开前台时使其保持运行状态。也许您的意思是说:“ 行为举止通常……”。好吧,但是大多数人关心的是行为不端的问题。
Jeffrey Blattman,2015年

@JeffreyBlattman是的,请随意编辑它,因为它是Community Wiki的答案。
马修(Matthew)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.