我想知道是否有一些规则或提示如何在编码时直接防止电池耗尽。我知道可能有一些方法可以编写代码来最小化处理器上的工作负载或防止泄漏。但是,是否有任何人有类似指南或类似"清单"除了常见的嫌疑人,如定位服务和互联网连接?
答案 0 :(得分:4)
我假设您的意思是您的申请。根据我的经验,能源的主要消费者是#1最重要的:
4G或WiFi是否更差取决于您的使用情况,例如:无论您是通过蜂窝网络与低信号通话还是通过WiFi传输视频。 GPS取决于您是否正在使用它。如果您轮流转弯,它会将您的手机变成一个小加热器并快速耗尽电池。
最大限度地减少4G,WiFi和蓝牙的使用非常简单。我不确定是否有可能以任何实际的方式减少记忆所消耗的能量。
CPU使用率是最大的潜在能量消耗因为它可以持续不断地吸收电子。值得庆幸的是,现代处理器在什么也不做的时候关闭,即空转。这被称为进入空闲/ C状态。你可以猜到,手机大部分时间都没有做任何事情。
您可以通过多种方式编写程序以最大限度地减少CPU能耗。实际上,更好的说法是,有些方法可以通过编写程序错误来击败这些节能功能。如果CPU进入休眠状态以最小化功率,那么唤醒它会增加能量消耗。另一个要考虑的因素是CPU处于睡眠状态的时间。您可以让处理器空闲的时间越长,它可以进入的睡眠状态就越深,而更深的睡眠状态则会消耗更少的能量。
那么您需要做些什么来最小化CPU使用率?你想减少使用CPU,或者用另一种方式说,让你的程序能够以更快的速度完成任务。此外,增加程序空闲的时间长度。
现在让我们来看看你可以做的一些具体事情:
让你的程序尽可能快地做任何事情。通过找到最快的算法并以尽可能最有效的方式实现它来做到这一点。换句话说,优化。
尽量减少对事件的检查。检查事件是否发生的次数越多,唤醒处理器的次数越多,它进入真正深度睡眠状态的可能性就越小。通过计算在保持性能的同时检查某些事件的最大间隔来做到这一点。