如果我的应用程序中有多个线程运行,所有线程都有一个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