RAM使用情况如何影响电池消耗?


17

我对Android内存管理感到非常困惑。

我只是在这里读到,通过从最近的列表中刷卡或使用任务杀手杀死应用程序不会节省您的电池,而是会消耗更多的电量,因为这会导致操作系统在您下次启动或自行启动时再次重新加载应用程序。他们还说,我们真正要担心的是CPU使用率,而不是RAM使用率。

这是否意味着使用过多的RAM不会耗尽电池电量?由于RAM是一种硬件,所以在它上面放东西不应该消耗电池电量?如果我正在玩Temple Run并只按主页按钮,以便下次启动该应用程序时加载速度更快,该怎么办?还是我们应该像往常一样按后退按钮直到应用退出?我还搜索了互联网,但有些人说坐在RAM上会耗尽电池电量,有些人说RAM存放实际数据之间没有区别,或者没有区别。我们是否应该放弃我们的应用杀戮习惯,并放松一下?

一些确切的答案将不胜感激。谢谢。:)


1
您的RAM是省电的硬件之一...
Brian S

您的庙宇运行示例可能不是最好的:游戏可能会占用大量内存,因此它们要么很快就被操作系统杀死,要么主动发送到后台将重要数据保存下来。在这种情况下,它的加载速度可能会更快一些,因为仍然加载了一小部分,但是无论如何都可能需要加载游戏数据。一个更好的例子是一个简单的twitter客户端:在您的RAM中,它可能恰好适合您,直到您再次需要它为止。
Nanne 2014年

Answers:


22

我怀疑电池消耗和RAM使用量之间是否存在直接关系。硬件不知道哪些RAM单元包含“已用”数据,哪些不包含。因此,在该级别上电池消耗没有差异。

但是我认为有人可以说,当必须重新启动这些应用程序时,不必要地杀死这些应用程序会导致一些额外的CPU周期,从而“消耗更多的电池”。

是的,您绝对应该放开自己的应用杀戮习惯。在大多数情况下,Android能够很好地管理系统资源,因此您不必费心手动杀死Apps。如果他们只是闲逛并消耗一些RAM,它们绝对不会消耗更多的电池。当然,如果这些应用程序一直在使用CPU,则会耗尽电池的电量(但这通常表示该应用程序内部存在错误或实施不正确的应用程序)。


另一方面,有些行为异常的应用会在合理的时间内唤醒并且不会重新进入睡眠状态。这些是很可能导致电池故障的应用程序。您可以使用Wakelock Detector
Ehtesh Choudhury 2014年

这就是为什么我说经常使用CPU的Apps通常有故障或至少实施不正确。请注意,我不建议您使用Wakelock Detector之类的应用程序,因为该功能现在是Android(带有4.4 IIRC)的一部分。
流动

16

将RAM视为纸质笔记本。您可以用铅笔将数据写入书中,也可以擦除这些数据并用新数据替换它们,但是书的重量始终相同。不管你写什么,这本书都不会重。同样,采用当前的RAM技术,无论RAM中存储了什么(如果有的话),RAM的电池消耗都是固定的。

从Android的角度来看,无论是使用主屏幕按钮还是后退按钮离开应用程序都没关系。按下返回按钮不会杀死应用程序或将其从RAM中删除。从“最近使用的应用”列表中删除某个应用不会杀死该应用或将其从RAM中删除。它唯一的区别是更改了应用程序在下次启动时向您显示的内容:以前的屏幕,或应用程序的主屏幕/第一个屏幕。

想象一下,您有一个笔记本(和以前一样),以及一个带很多参考书的大书柜。您不能随身携带参考书,因此,如果您需要了解某个主题,则必须将参考书中的信息复制到小笔记本中。当笔记本计算机空间不足时,可以使用橡皮擦擦除一些不需要的信息,以便可以将更多信息复制到其中。

所有这些复制都很烦人。因此,一旦您复制了一些信息,便希望将其保留在笔记本中的时间只要您认为自己需要即可。您可以跟踪当前正在使用的笔记本中的哪些信息,经常使用的信息以及一段时间没有使用的信息。当您要腾出空间时,首先要擦除一段时间没有使用的信息。如果您还没有剩下任何东西,那么您将删除一些经常使用但暂时不使用的信息。仅当您真的非常渴望空间(也许有一个大主题占据了整个笔记本)时,您才删除当前使用的信息。

这正是Android对您的RAM所做的工作。装有参考书的大书架就像手机的内部存储器:您不能直接使用它(因为书是印刷的,而不是用铅笔书​​写的),因此将数据复制到笔记本中非常昂贵(需要时间和精力)( RAM)继续工作。

任务管理器应用程序就像一个学校老师,他认为您的笔记本看起来不整洁,不再使用所有这些笔记页面。老师经常走来走去,并擦除整页笔记。这是不必要的,因为它不会使书更容易随身携带:书的重量相同。不仅如此,学校老师不知道您最常使用哪些信息-他可能有一个模糊的想法,但他却不如您所知-因此有时当他删除信息时,花费的额外费用是书架,否则就不需要了。

通过这种方式思考,很容易回答您的问题。使用更多的RAM不会直接消耗更多电力。任务管理器应用程序可以使您使用更多功能,因为您不得不将内部存储器中的内容复制到RAM中,而这本来是不需要的。以同样的方式,一个需要大量RAM的应用会花费您两次的费用:首先,您必须在笔记本中写入该应用的所有信息,然后在完成后,必须擦除很多信息(空格),您必须再次从书架上复制。


2
哈哈,我喜欢类比(+1)。(尽管,从技术上讲,如果您写一些笔记本,它的重量会稍微增加一点 ……但是我太挑剔了。)@MinNaingOo还有一点要注意的是,如果您正在运行任务管理器,那任务管理器还使用电源循环(AKA CPU)来执行所需的操作。因此...正在使用更多的电池。
JasCav 2014年

2
值得一提的是垃圾收集器。您的笔记本不仅包含您可能再次需要的信息。它还包含“垃圾”-您绝对不再需要的信息。这是因为android是惰性的,并且甚至在需要更多内存之前都不会清除垃圾。当内存不足时,它将收集此垃圾以节省空间。如果您的内存经常不足,那么它将更频繁地收集垃圾,并消耗更多的电池。
James_pic 2014年

@James_pic这就是第四段。我不想再将应用内GC引入其中,因为这是仅与程序员相关的更大主题。
Dan Hulme

The only difference it makes is changing what the app shows you next time you launch it-嗯,大部分是正确的,但并非总是如此。“返回”告诉应用程序“好,我完成了”,因此它可以立即进行额外的清理。有一天,我不小心从Google Maps中击了“ Home”而不是“ Back”,杀死了我的数据计划-该数据计划在后台不断更新。
Izkata 2014年

>从“最近使用的应用程序”列表中刷出应用程序不会杀死该应用程序或将其从RAM中删除。 最新版本的Android中对此进行了更改。参见例如:code.google.com/p/android/issues/detail?id=63618
jis

1

正如文章向您解释的那样,向RAM中加载多少东西都无关紧要,因此,如果不关闭空闲的应用程序,那完全可以。但是,如果应用程序不断进行某些活动(例如同步一些数据,下载或什至录制声音),则会消耗您的电池电量,因为它使用CPU,CPU会消耗电池电量,在这种情况下,关闭应用程序将会是一件好事。否则,如果您确定应用程序不会在后台执行持续的活动,那么您不必担心它会存储在RAM中,就像将文件存储在SDCard中一样(我的意思是SDCard不会用电池吧?)因此,请放松一下:)我猜寺庙的运行不会在后台进行任何活动,所以不要担心将其留在公羊中。希望我向你解释。干杯!


0

iOS和Android之间有很大的区别。iOS冻结应用程序,Android冻结。他在那篇文章中解释的逻辑无法应用于Android,在某些情况下,某些应用会在后台消耗电量。如果您对此有所担心,请使用Greenify之类的东西代替任务杀手。


冻结应用程序的优点是什么?
Min Naing Oo 2014年

1
@MinNaingOo是一个“不良”应用程序,无法使用户认为iPhone电池出现故障。因此,停止用户责备苹果。
伊恩·林罗斯

1
@MinNaingOo阅读本addictivetips.com/android/...
bluehallu

1
@Hallucynogenyc我一直在所有的android设备上使用Greenify,尽管我对其优点并不了解。谢谢您的链接:)
Min Naing Oo 2014年


0

回答标题问题:“可以使用过多的RAM消耗电池吗?”
(不是您的“实际”问题,但可能对其他对问题标题感兴趣的人有用。)

是的,当试图同时运行的应用程序或服务使用过多的RAM时,系统可能需要非常频繁地(甚至每秒多次)杀死其中的一些,并在其他需要它们时立即重新启动它们。
那会占用很多CPU周期,因此会消耗一些电池电量。

请注意,这不是正常情况,例如“不手动杀死某些应用程序”,这是“非常崩溃”状态-但我已经看到它的发生,似乎与许多干扰和竞争内存的服务有关。


-1

由于主RAM是动态的(由失去信息的电容器组成),因此必须对其进行刷新。此刷新需要耗电,并且充满(或用过)的块要比一次包含全0或以某种方式知道未使用过的耗电更多。

但是,如果这确实是值得注意的,则是针对具有更多电子知识/技巧的人。

我一直注意到使用更多内存的情况下,所有计算机上的电池使用率都会增加,而与CPU级别无关,但是这里肯定有其他一些因素在起作用。

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.