我正在开发VoIP电话申请。事情似乎没有问题。我担心电池寿命。即使在Wifi电池上,通过有效的VoIP呼叫,电池似乎也会消耗得非常快。 Wifi上的电池消耗非常快,它会比蜂窝数据更快。我可以采取哪些措施来改善电池/电量消耗?另外,我如何分析/分析应用中的电池消耗过程? 提前谢谢。
答案 0 :(得分:3)
Turning off the display可以在您的应用运行时减少电池使用量。如果您需要启用显示,可以使用以下方式调暗:
[UIScreen mainScreen].brightness = 0;
如果这还不够暗淡以减少电池消耗,您可以使用wantsSoftwareDimming
最大限度地提高调光效果,但可能会受到性能影响:
[UIScreen mainScreen].wantsSoftwareDimming = YES;
由于CPU使用密集,也可能存在消耗大量电池的进程。您可以使用Apple's developer resource所述仪器中的能量诊断工具来分析/分析应用中的电池消耗过程。如果您还将Time Profiler工具添加到列表中,您将能够将代码执行与电源使用相匹配。屏幕看起来像:
确定电池使用高峰期后,您可以将这些时间范围与处理活动联系起来。在这些点调查任何繁重的源代码并优化它们以减少CPU影响。这可能意味着修剪功能(即减少实时图形动画或渲染)。
答案 1 :(得分:2)
一个常见的误解是你需要超快的更新或响应时间,所以尽可能使用最短的计时器持续时间(或者根本不使用)。任何现代处理器都可以通过在空闲期间进入低功耗状态来节省大部分能量。闲置时间越长,睡眠越深,节能越多。
一个典型的例子是监视事件的键盘或鼠标。人类不能以超过0.25秒的速度做出反应,但是人们在错误的信念下使用<10毫秒(或根本没有)的睡眠间隔,这会导致更好的性能/响应。但这样做可以使处理器保持清醒并消耗能量,同时不会影响应用程序的响应时间。
理想情况下,您希望在活动期间使用最大的睡眠持续时间,同时仍然具有良好的性能。这意味着您需要进行成本折扣。我通常会尝试达到85%到95%,具体取决于所需的响应时间。这使处理器有时间进入低功耗状态,大大降低了我的能源使用率。
我建议如下:(1)计算85%或95%没有缺陷的情况,(2)测试质量并调整空闲时间(更好的响应),直到你有最低限度可接受的质量,和(3)使用那段时间。
答案 2 :(得分:1)