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

评论

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

相关元讨论:meta.android.stackexchange.com/questions/1119/…

相关:禁用启动时自动启动。

#1 楼

首先要做的事情
您可能会对Android的工作原理以及服务运行或应用程序在后台运行时的实际情况有一些误解。另请参阅:我真的需要安装任务管理器吗?
当您切换到另一个应用程序或主屏幕时,大多数应用程序(例如,您手动启动的应用程序)都会将其当前活动置于后台。活动会占用一些内存,因此您可以返回到应用程序并从上次停下来的地方继续学习。活动通常无法在后台运行计算,因此无需使用CPU或电池。如果您担心电池寿命或CPU性能,则无需担心这些应用程序!您也不必担心内存。如果系统运行不足,Android将自动终止该应用程序并释放内存。
如果后台运行的应用程序正在运行服务,则情况可能会不同。精心设计的服务将大部分时间都花在睡觉上,不时醒来以进行偶尔的检查(例如,新的社交媒体通知)。但是,设计不当的服务可能会更频繁地运行或执行您不想要的同步操作,从而影响电池寿命和数据使用量。如果您有流氓服务,则可能需要尝试以下解决方法之一。
解决方案
如果您确定要不惜一切代价使该应用程序停止运行,则可以尝试以下方法。
卸载
当应用执行您不喜欢的操作时,无论是在启动时在后台运行还是其他操作,您的第一个选择就是将其卸载。问题解决了!如果您具有root用户,则可以删除系统应用程序,最简单的方法是使用Titanium Backup,但要注意仅删除运营商的bloatware而不是关键的系统应用程序。
但是,如果您希望能够使用该应用程序,则不可以一个选择:继续阅读。
Ping开发人员
Android随附的一些最出色的守护程序是无缘无故地在后台运行的服务,或者仅用Android的AlarmManager进行简单的间隔检查就足够了。我们需要用火杀死他们,而不是无视他们。不涉及开发人员修复的所有内容都只是一种骇客行为,将导致其他负面影响。如果您与开发人员联系遇到问题,他们可以修复该应用,您可以继续正常使用它。对于所有参与其中的人来说都是胜利。
手动杀死应用程序
首先,请注意,如果您退出其中而不是使用“主页”按钮,则许多应用程序将完全关闭。
如果您正在运行Ice Cream三明治或果冻豆,您可以进入“设置”,点击“应用程序”,然后通过跳至正在运行的应用程序来手动关闭该应用程序。或者,您可以单击“最近使用的应用程序”按钮,然后将其从屏幕上滑动以将其关闭。在旧版Android中,制造商可能添加了内置的任务管理器来完成相同的任务,或者您可以下载任务管理器应用来执行此操作。有关服务,请查看Settings -> Applications -> Services
警告:请勿使用自动任务杀手!自动任务杀手程序在后台运行(正是您所不想要的),并在启动时杀死应用程序。大多数情况下,这会使情况变得更糟,因为与启动时相比,应用程序启动时通常会消耗更多的资源。自动运行并由系统重新启动的服务将一遍又一遍地被杀死,浪费您的电池。同样,接收到称为Intent(例如网络覆盖和连接更改)的系统事件的应用程序,在每次启动以接收事件时都会被杀死。没有任何好处。
可能的例外情况是自动任务仅在您(用户)执行特定操作时才执行。本质上,它们只是为您简化了手动任务管理。例如,当您切换应用程序时,可以使用Tasker或Llama之类的应用程序结束活动,以确保它们不会在后台停留。 Llama说明:

创建一个新的Event。添加名为Active App的条件,然后选择状态App stopped or in background。选择您要关注的应用程序。接下来,添加一个Action。选择Kill Application (root privileges),然后再次选择您的应用程序。
现在,每当您离开应用程序时,Llama都会将其杀死。

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

自动运行管理器
Gemini App Manager

(还提供了自动启动源代码此处:https://github.com/miracle2k/android-autostarts)
警告:这可能会导致应用停止运行或禁止使用所需功能。请谨慎操作,尤其是对于关键系统应用程序。
冻结应用程序
您可以使用Titanium Backup或App Quarantine之类的应用程序来完成冻结应用程序,以使它们根本无法运行。如果要使用它们,则必须先取消冻结它们。
警告:请勿对关键的系统应用程序执行此操作!您的设备可能无法启动。
将应用程序置于休眠状态
Greenify(需要Android 4.0+和ROOT特权)使用不同于传统的“冻结”的方法,称为“休眠”。您可以安全地休眠任何您不希望其秘密运行的非系统应用程序(通过持久性服务,广播接收器,警报等),实际上等同于“冻结”,同时仍保留其所有入口(启动器图标,共享目标)等),并且在您明确运行时具有完整功能,而无需先取消冻结。
警告:请勿休眠闹钟应用,即时消息传递应用以及其他其基本功能依赖于后台机制的应用(计时器,系统事件,“推送”等)。
底线
Android旨在为您管理应用程序。除了最极端的情况外,在所有情况下,您都无需担心。出现问题时,建议您采用最简单的解决方案-卸载。所有其他解决方案都是围绕Android设计用途的黑客。也许有一天Android会正式支持服务管理,但在此之前要小心。

评论


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

–unforgettableidSupportsMonica
15年8月27日在15:38

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

–马修·雷德(Matthew Read)
15年8月27日在16:41

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

–杰弗里·布拉特曼(Jeffrey Blattman)
15-10-28在0:56



@JeffreyBlattman是的,请随意编辑此内容,因为它是Community Wiki的答案。

–马修·雷德(Matthew Read)
15年10月30日在16:13