題:
RAM使用情況如何影響電池消耗?
Min Naing Oo
2014-04-08 12:34:34 UTC
view on stackexchange narkive permalink

我對Android內存管理感到非常困惑。

我剛剛讀過此處,通過從最近的列表中滑動或使用任務殺手殺死應用程序並不會節省您的電池,但消耗更多,因為這會導致操作系統在您下次啟動或自行啟動時再次重新加載應用程序。他們還說,我們真正要擔心的是CPU使用率,而不是RAM使用率。

這意味著使用過多的RAM不會消耗電池嗎?由於RAM是一種硬件,因此在其上存放東西不應該消耗電池電量嗎?如果我在玩《神廟逃亡》並只按主頁按鈕,以便下次啟動該應用程序時加載速度更快,該怎麼辦?還是我們應該像往常一樣按後退按鈕直到應用退出?我還搜索了互聯網,但有些人說坐在RAM上會耗盡電池電量,有些人說RAM存放實際數據之間沒有區別,或者沒有區別。我們應該放棄我們的應用殺戮習慣,只是放鬆一下嗎?

一些精確的答案將不勝感激。謝謝。 :)

您的RAM是最省電的硬件之一...
您的廟宇運行示例可能不是最好的:因為遊戲可能會佔用大量內存,因此它們要么很快就被操作系統殺死,要么在發送到後台時主動保存重要數據。在這種情況下,它的加載速度可能會更快一些,因為仍然加載了一小部分,但是無論如何都可能需要加載遊戲數據。一個更好的例子是一個簡單的twitter客戶端:在您的RAM中,它可能恰好適合您,直到您再次需要它。
六 答案:
Flow
2014-04-08 12:59:41 UTC
view on stackexchange narkive permalink

我懷疑電池消耗和RAM使用之間是否存在直接關係。硬件不知道哪些RAM單元包含“已用”數據,哪些不包含。因此,在該級別上電池消耗沒有差異。

但是我認為有人可以說,當必須重新啟動這些應用程序時,不必要地殺死這些應用程序會導致一些額外的CPU週期。

是的,您絕對應該放開自己的應用殺戮習慣。在大多數情況下,Android能夠很好地管理系統資源,因此您不必費心手動殺死Apps。如果它們只是閒逛並消耗一些RAM,它們肯定不會消耗更多的電池。當然,如果這些應用程序一直在使用CPU,則會耗盡電池的電量(但這通常表示該應用程序內有錯誤或實施不正確的應用程序。)

另一方面,有些行為異常的應用會在合理的時間內喚醒並且不會重新進入睡眠狀態。這些是很可能導致電池故障的應用程序。您可以使用[Wakelock Detector](https://play.google.com/store/apps/details?id=com.uzumapps.wakelockdetector)來查看它們。
這就是為什麼我說經常使用CPU的Apps通常有故障或至少實施不正確。請注意,我不建議您使用Wakelock Detector之類的應用程序,因為該功能現在是Android(帶有4.4 IIRC)的一部分。
Dan Hulme
2014-04-08 13:51:13 UTC
view on stackexchange narkive permalink

RAM就像紙質筆記本一樣。您可以(用鉛筆)將數據寫入書中,也可以擦除這些數據並用新數據替換它們,但是書的重量始終相同。不管你寫什麼,這本書都不會重。同樣,使用當前的RAM技術,無論存儲了什麼(如果有的話),RAM的電池消耗都是固定的。

從Android的角度來看,無論您是否使用主屏幕按鈕或後退按鈕保留應用程序。 按下後退按鈕不會殺死應用程序或將其從RAM中刪除。將應用程序從“最近使用的應用程序”列表中滑出不會殺死該應用程序或將其從RAM中刪除。唯一的區別是更改了應用程序下次啟動時向您顯示的內容:您所處的屏幕

想像一下,您有一個筆記本(和以前一樣),以及一個裝有很多參考書的大書架。您不能隨身攜帶參考書,因此,如果您需要了解某個主題,則必須將參考書中的信息複製到小筆記本中。當筆記本計算機空間不足時,您可以使用橡皮擦擦除一些不需要的信息,以便可以將更多信息複製到其中。

所有這些複製操作都很麻煩。因此,一旦您複製了一些信息,便希望將其保存在筆記本中的時間只要您認為自己需要它即可。您可以跟踪當前正在使用的筆記本中的哪些信息,經常使用的信息以及一段時間沒有使用的信息。當您要騰出空間時,首先要擦除一段時間沒有使用的信息。如果您還沒有剩下任何東西,那麼您將刪除一些經常使用但暫時不使用的信息。僅當您真的非常渴望空間(也許有一個大主題佔據了整個筆記本)時,您才刪除當前使用的信息。

這正是Android正在對您的RAM進行的操作。裝有參考書的大書架就像手機的內部存儲器:您不能直接使用它(因為書是印刷的,而不是用鉛筆書寫的),因此將數據複製到筆記本中非常昂貴(需要時間和精力)( RAM)。

任務管理器應用程序就像是一名學校老師,他認為您的筆記本看起來不整潔,不再使用所有這些筆記頁面。老師經常走來走去,並擦除整頁筆記。這是沒有必要的,因為它不會使書變得更容易隨身攜帶:書的重量相同。不僅如此,學校老師不知道您最常使用哪些信息-他可能有一個模糊的想法,但他卻不如您了解-所以有時當他刪除信息時,費用是去書架的額外行程,否則您將不需要。

以這種方式思考,很容易回答您的問題。使用更多的RAM不會直接消耗更多電力。任務管理器應用程序可以使您使用更多功能,因為您必須將內部存儲器中的內容複製到RAM中,而不必這樣做。以同樣的方式,一個需要大量RAM的應用會花費您兩次的費用:首先,您必須在筆記本中寫入該應用的所有信息,然後在完成後,必須擦除很多信息(空間),您必須再次從書架上複製。

哈哈,我喜歡類比(+1)。 (儘管從技術上講,如果您寫一些筆記本,它的重量會稍微增加一點……但我太挑剔了。)對於@MinNaingOo,還有一點要注意的是,如果您正在運行任務管理器,該任務管理器還使用電源循環(AKA CPU)來執行所需的操作。因此...正在使用更多的電池。
值得一提的是垃圾收集器。您的筆記本不僅包含您可能再次需要的信息。它還包含“垃圾”-您絕對不再需要的信息。這是因為android是惰性的,並且甚至在需要更多內存之前都不會清除垃圾。當您的內存不足時,它將收集此垃圾以節省空間。如果您的內存經常不足,那麼它會更頻繁地收集垃圾,並消耗更多的電池。
-1
“它唯一的區別是更改了應用程序在下次啟動時向您顯示的內容”-嗯,大多數情況下都是如此,但並非總是如此。 “返回”告訴應用程序“好,我完成了”,因此它可以立即進行額外的清理。有一天,我不小心從Google Maps中擊了“ Home”而不是“ Back”,殺死了我的數據計劃-它在後台不斷更新。
**>從“最近使用的應用程序”列表中刷出應用程序不會殺死該應用程序或將其從RAM中刪除。**這在最新版本的Android中已更改。參見例如:https://code.google.com/p/android/issues/detail?id = 63618
@Izkata該應用程序可免費使用後退按鈕,但它很喜歡:我要描述的是Android本身的行為。
Ilo
2014-04-08 13:07:17 UTC
view on stackexchange narkive permalink

正如文章向您解釋的那樣,向RAM中加載多少東西都沒有關係,因此,如果您不關閉空閒的應用程序,那完全可以。但是,如果應用程序不斷進行某些活動(例如同步一些數據,下載或什至錄製聲音),則會耗盡您的電池電量,因為它使用了CPU,它會消耗電池中的能量,在這種情況下,關閉應用程序將會是一件好事。否則,如果您確定應用程序不會在後台執行持續的活動,那麼您不必擔心它會存儲在RAM中,就像將文件存儲在SDCard中一樣(我的意思是SDCard不會用電池吧?)。所以放鬆一下吧:)我猜寺廟跑在後台沒有任何活動,所以不用擔心將其留在公羊裡。希望我向您解釋。乾杯!

bluehallu
2014-04-08 15:01:21 UTC
view on stackexchange narkive permalink

iOS和Android之間存在很大差異。 iOS凍結應用程序,Android凍結。他在那篇文章中解釋的邏輯無法應用於Android,在某些情況下,某些應用會在後台消耗電量。如果您對此感到擔心,請使用Greenify之類的東西代替任務殺手。

凍結應用程序的優勢是什麼?
如果我正確理解,那麼一個Android應用程序只會在其不活動時(如果應該)*使用CPU週期,例如在後台加載新文章的新聞應用程序
@MinNaingOo,一個“壞”的應用程序,不能使用戶認為iPhone電池出現故障。因此,停止用戶責備蘋果。
@MinNaingOo閱讀此http://www.addictivetips.com/android/greenify-allows-ios-style-multitasking-on-android-by-hibernating-apps/
@Hallucynogenyc我一直在所有的android設備上使用Greenify,儘管我對其功能並不十分了解。謝謝你的鏈接 :)
@IanRingrose因此,不允許用戶應用程序的服務在iOS的後台運行?
@MinNaingOo閱讀此https://stackoverflow.com/questions/11417837/running-background-services-in-ios
Volker Siegel
2014-04-09 06:49:07 UTC
view on stackexchange narkive permalink

回答標題問題:“可以使用過多的RAM耗盡電池嗎?”
(不是您的“真實”問題,但可能對其他對問題標題感興趣的人有用。)

是的,當試圖同時運行的應用或服務佔用過多的RAM時,系統可能需要非常頻繁地(甚至每秒多次)殺死其中的一些,並在其他需要它們時立即重新啟動它們。
這會佔用大量CPU週期,因此會消耗一些電池電量。

請注意,這不是正常情況,例如“未手動殺死某些應用”,這是“非常損壞”狀態-但是我已經看到它的發生,似乎與許多干擾和競爭內存的服務有關。

N ytonial
2017-02-28 18:18:41 UTC
view on stackexchange narkive permalink

由於主RAM是動態的(由電容鬆散的電容器組成),因此必須對其進行刷新。此刷新需要耗電,充滿(或用過)的塊應該比一次包含全0或某種方式需要更多的功率來“充電”知道它沒有被使用。

但是,如果這確實是值得注意的,那是針對具有更多電子知識/方式的人。

我一直注意到,當內存增加時,所有計算機上的電池使用量都會增加不管CPU級別如何,都可以使用

,但是這裡必須要考慮其他一些因素。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...