如果我的應用程序中有多個線程運行,所有線程都有一個while(true)循環,並且任何線程中都沒有Thread.sleep()作爲貧民區動作監聽器,這會否定影響我的電池壽命?但是,通過規律的邏輯,我不確定處理器是否持續監控時間循環會導致顯着的電池損耗?Android線程和電池使用時間
回答
它歸結爲你在listeners/while循環中做了什麼。如果它涉及的東西,如無線傳感器或CPU密集型任務或網絡I/O,那麼它很明顯,否則你應該做的很好。 主要是一些OS功能在後臺也是這樣做的。
然而,似乎有更好的方法來處理像這樣的東西在Android爲什麼不試試這些。
我看到類似的回答類似的問題,但什麼構成「密集」? 在我看來,有一段時間循環,確實計數++似乎密集,或者我錯了嗎? – NeoMime
根據你的建議,你似乎做得很好,因爲簡單的增量沒有資格被強化,但是有些BigInteger/BigDecimal的高階計算能夠讓你的CPU投擲(我認爲這不是你的想法)。更正如前面提到的那樣,激活傳感器,位圖操作,編碼解碼視頻等(如果有的話)都是密集型的。希望你現在能夠掌握它。 – humblerookie
@humblerookie你有什麼參考資料可以支持這個或者更詳細的解釋嗎?在普通的Java中,任何不會引起等待中斷的事件(例如顯式等待,鎖定,同步,I/O)被認爲是「密集型」,包括一個簡單的「count ++」 - 因爲CPU只會在循環中快速循環儘可能。 –
- 1. 線程和電池
- 2. 線程和電池消耗
- 3. Pubnub推送通知和Android上的電池使用時間
- 4. 使用線程池和JMS
- 5. Android電池應用程序
- 6. VB.net電池使用時間百分比
- 7. locationManager後臺電池使用時間
- 8. 使用http時的Android電池
- 9. 線程池和發送電子郵件
- 10. Android GPS和電池使用情況
- 11. 使用線程池
- 12. 使用線程池
- 13. 使用線程池
- 14. Android GPS電池使用
- 15. 電池使用在Android的
- 16. Android電池使用情況
- 17. Android - 在線vs離線解析 - 電池
- 18. 如何計算android電池使用時間
- 19. 減少(Android)電池使用時間的是什麼?
- 20. 如何衡量scala線程池時間?
- 21. 電池時間計算
- 22. 何時使用Gevent中的線程池
- 23. Android開發:如何根據當前電池電量預測預期的電池使用時間?
- 24. Node.js線程池和核心使用
- 25. 使用線程池和func對象
- 26. BeginXXX和線程池
- 27. InheritableThreadLocal和線程池
- 28. C#和線程池
- 29. Android的線程池和BlockingQueue的問題
- 30. 計算電池剩餘時間直到電池放電?
所以我知道這是對我的問題的遲發評論。但是你永遠不要使用while(true)循環來檢查可能發生的情況。 雖然(真)會用盡線程的CPU 100%,並將耗盡電池 – NeoMime