performance - Web 应用程序的电池效应?

标签 performance cordova battery

我正在学习移动网络应用,它们看起来很有趣。除其他外,我想知道 native 应用程序和网络应用程序之间的电池消耗是否存在显着差异? (Phonegap、intel xdk 等)?

最佳答案

由于使用收发器(即您的手机/平板电脑上的接收器和发射器),可能会有显着差异。在任何移动设备上,无论是笔记本电脑、平板电脑还是手机,处理器和外围设备都会进入节能 sleep 状态。处理器 sleep 状态称为 C 状态。外围 sleep 状态称为 D 状态。因此,当您的手机空闲时,电池生命周期更长。无论是处理器还是外围设备,空闲时间越长,电池生命周期就越长。

这对于网络应用程序与原生应用程序意味着什么? native 应用程序将使用更多的处理器,但较少使用昂贵的外围设备(读作收发器包括 GPS)。处理器和收发器都是耗电大户。所以这是底线:

  • 如果您的网络应用需要大量访问云,就会消耗电量。这就是为什么使用 GPS 为您提供转弯指示会缩短电池生命周期(并使您的手机有点发热)。
  • 如果您的原生应用从不进入休眠状态或得到任何休息(例如,它使用轮询而不是使用中断,或者如果中断时间太短),您将耗尽电池电量。

因此,理想的应用程序可以平衡原生计算和网络计算

  • 最小化处理器使用率(更具体地说,最大化处理器空闲时间)
  • 尽量减少外围设备的使用(读作尽量减少网络访问次数)

如您所见,这些目标有些矛盾。从设计师的角度来看,您希望将尽可能多的计算转移到云端,同时尽可能保持数据本地化。

关于performance - Web 应用程序的电池效应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24207590/

相关文章:

node.js - 如何修复此子项目路径 : CordovaLib Error: spawn EACCES

ios - 使用 VoIP 在 iOS 上节省电池电量

php - mysql 查询 - 将数字放在引号中会导致性能损失吗?

c# - 多个资源文件与单个资源文件

javascript - 如何在我们的应用程序中使用此 sencha 触摸图像?

android - 你如何在 Phonegap/Cordova 中使用鼠标事件?

android - 查询电池容量

Android:使用警报管理器定期获取电池状态

减少 CPU 指令大小的 C++ 技术?

PHP MySQL ETL。我应该使用 ETL 工具、存储过程还是 php 脚本?