簡體   English   中英

Android內存/電池使用情況

[英]Android memory/battery usage

由於無法每天在0:00運行服務,因此我決定每50秒運行一次服務(通過AlarmManager)。 我讀到每隔1秒鍾運行一次服務會耗盡電池電量。 我以1秒的刷新率和50秒的刷新率試用了我的程序。 為此,我使用了各種應用程序來測量內存使用率和cpu使用率。 結果如下:

內存使用情況:

  • Android Booster

    1秒:5.1-7.5 MB

    50秒:5.5-7.2MB

  • 內存使用率/內存管理器

    1秒:24.5MB

    50秒:23MB

  • 使用時間表

    1秒:24MB

    50秒:22.7 MB

  • 看門狗任務管理器

    1秒:14.6MB

    50秒:12-14MB

  • Android助手:

    1秒:4MB

    50秒:7MB

CPU使用率:

  • 使用時間表

    1秒:2%

    50秒:0%

  • 看門狗任務管理器

    1秒:1.3%-1.9%

    50秒:0.1%

  • Android助手:

    1秒:2%-3%

    50秒:0.4%-2%

總而言之,我們可以說內存使用率沒有變化,但是cpu使用率卻發生了巨大變化。 由於所有使用的應用程序都顯示不同的數據,因此我無法確定我的應用程序使用了多少內存/ CPU,但是這項小小的調查表明,每1秒運行一次服務確實讓CPU感到痛苦。 還是不是? 您對此有何看法?

基本規則是,做得越少,對電池的影響就越小。 換句話說,您所做的一切都會減少電池電量。 如果您每分鍾更新一次,則將其更改為每2分鍾通常會減少電池消耗的一半。

但是除此之外,沒有任何一個數字可以提供“正確”的數量。 您希望運行得盡可能少,工作要做得盡可能少。

看一下您所做的數字是好的,它使您對自己的影響有所了解。 但是,它們還不是全部內容-例如,在某些常見的CPU上,僅持有部分喚醒鎖會導致電池消耗。

解決這個問題的一種好方法是,我們希望設備上的電池至少能使用N天,其中N至少是一個,我們真的希望它能超過一個。 如果未使用該設備-屏幕關閉-它仍在后台執行操作以耗盡電池電量:電話收音機正在運行,可能有些事情正在將新電子郵件等同步到該設備等。

如果設備沒有執行該工作,則它將持續數天,數天和數天。 您可以自己查看:打開飛行模式,確保沒有愚蠢的應用程序在后台仍在執行操作,並查看電池可持續使用多長時間。 可能很容易是一周。

因此,您在后台執行的每件事都不是一個問題。 在我們希望連續運行數天的世界中,這是這項工作的總和。 基本設備可以充電的時間越長,每個小工作就越會減少電池壽命,因為您有更多的時間來運行和消耗電池。

最終,安排每分鍾或更長時間進行一些工作減少用戶的電池壽命。 多少取決於很多事情:硬件的電源行為,用戶一次充電通常可以運行多長時間,每次運行多長時間,正在執行的工作種類。

我絕對建議您做的一件事,就是在您自己的設備上親自測試該應用程序。 從基線開始:讓設備保持閑置狀態,並查看其使用壽命。 確保沒有其他可能影響其壽命的第三方應用程序(從Android 3.1開始,您可以強制停止所有這些應用程序以確保它們不會運行)。 考慮關閉電子郵件同步,以消除圖片中的噪點。

現在,以您認為應該的數量運行您的應用,並查看它會減少多少電量。 將會有一些,這只是多少的問題。

同樣,當您執行這些操作時,您還希望集中精力在合理運行的系統上使用電池的最長時間以及您的應用程序如何影響電池壽命。 用戶的電池使用時間越長,您的應用對它的影響就越大,因此,這些人更可能不滿意並在Market上給出不良評價。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM