我正在学习移动网络应用,它们看起来很有趣。除其他外,我想知道 native 应用程序和网络应用程序之间的电池消耗是否存在显着差异? (Phonegap、intel xdk 等)?
最佳答案
由于使用收发器(即您的手机/平板电脑上的接收器和发射器),可能会有显着差异。在任何移动设备上,无论是笔记本电脑、平板电脑还是手机,处理器和外围设备都会进入节能 sleep 状态。处理器 sleep 状态称为 C 状态。外围 sleep 状态称为 D 状态。因此,当您的手机空闲时,电池生命周期更长。无论是处理器还是外围设备,空闲时间越长,电池生命周期就越长。
这对于网络应用程序与原生应用程序意味着什么? native 应用程序将使用更多的处理器,但较少使用昂贵的外围设备(读作收发器包括 GPS)。处理器和收发器都是耗电大户。所以这是底线:
- 如果您的网络应用需要大量访问云,就会消耗电量。这就是为什么使用 GPS 为您提供转弯指示会缩短电池生命周期(并使您的手机有点发热)。
- 如果您的原生应用从不进入休眠状态或得到任何休息(例如,它使用轮询而不是使用中断,或者如果中断时间太短),您将耗尽电池电量。
因此,理想的应用程序可以平衡原生计算和网络计算
- 最小化处理器使用率(更具体地说,最大化处理器空闲时间)
- 尽量减少外围设备的使用(读作尽量减少网络访问次数)
如您所见,这些目标有些矛盾。从设计师的角度来看,您希望将尽可能多的计算转移到云端,同时尽可能保持数据本地化。
关于performance - Web 应用程序的电池效应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24207590/