2016-08-03 42 views
1

我有一個Android應用程序可以使用Android Beacon庫檢測Eddystone信標。我想測試由應用程序引起的電池消耗,以找到最佳的背景和前景掃描率。在「設置」>「應用程序」>「MyBeaconDetectorApp」中,藍牙開啓超過一個小時後,它會顯示0%電池使用情況。我認爲該應用程序是在後臺,因此它是0%。但是,如何檢查由藍牙掃描引起的電池消耗。我已將BackgroundBetweenScanPeriod設置爲1分鐘。如何檢查由藍牙掃描引起的電池消耗

由於

回答

2

雖然很難直接測量電池消耗,這裏是我使用的技術:

  1. 使用的試驗裝置安裝的應用程序,將在運行的有限數量的的背景。出廠重置後的股票Nexus設備非常理想。

  2. 電池充電至100%

  3. 使器件進入飛行模式和付諸藍牙。

  4. 安裝您的應用程序,啓動它在後臺運行。關閉屏幕,並斷開設備的USB連接器。

  5. 請注意開始時間。

  6. 讓應用程序在後臺運行至少8小時,理想的情況是在至少有一個燈塔的情況下運行。

  7. 測量電池電量。從100%的三角洲是百分比流失。記下這個數字和結束時間。

  8. 查找您的電池有多少毫安適用於您的手機型號。用mAH乘以百分比,然後除以測試時間(小時)。這會告訴您手機在運行應用程序時使用的毫安數。

接下來,卸載您的應用程序,然後重複上述步驟。這會爲您的設備提供基準電池消耗,而不會在您的應用運行

最後,在您的應用程序運行時從mAH中減去mAH基準以測量應用程序使用的額外mAH。

最後一點:如果你真的在後臺掃描每一分鐘(默認是每五分鐘節省一次電池),我預計這可能會導致額外的電量消耗。使用上面的程序進行測試會告訴你一切。我很想聽聽你的結果!

+0

我一定會試試這個。我打算使用在線服務,也許是AWS設備農場來實現這一目標。不過,我不能要求在他們的測試中心引入信標。你認爲附近沒有燈塔會影響電池消耗嗎? –

+1

是的,沒有附近的燈塔會影響它在兩個方面:(1)如果在Android 5+上測試,硬件過濾器用於最大限度地減少電池消耗,當沒有信標周圍時,但在信標周圍時不使用,而是定期掃描。 (2)當信標周圍時,需要一小部分但不是微不足道的CPU來解析數據包中的標識符。 – davidgyoung