电池寿命可以设置多少间隔吸收?

时间:2012-08-03 03:38:59

标签: javascript ios

我有一个JS应用程序,它使用setInterval每秒多次更新自己。大多数时候它没有做任何事情,也不是CPU密集型的。我听说有人说JavaScript定时器会耗尽手机上的电池续航时间,但我没有看到任何事实或证据。

有没有什么好方法可以衡量我在iOS上的JS应用程序的电量消耗?或者有人可以解释如何使用setInterval来调用非CPU密集型功能会更快耗尽电池电量吗?

2 个答案:

答案 0 :(得分:1)

setInterval每次运行时都会唤醒CPU。你说的每秒多少次?如果它超过10,你应该找到一个不同的解决方案,setInterval是错误的工具。

答案 1 :(得分:0)

虽然我对您的问题没有具体的答案,但您可以牢记一些指导原则。

当该页面/标签/窗口未处于活动状态时,移动浏览器往往不会运行javascript代码。例如,在iOS中,像setInterval这样的代码只会在显示打开时运行,而Safari是打开的,而带有代码的页面是活动的。我相信它与Android和WinPhone设备类似。

在开发打算暂时打开的网络应用时,您必须抓住自己。这可能类似于餐馆评论网站,游戏或使用地理位置(gps)api的东西。如果您的网络应用程序打算长时间使用,那么持续运行代码可能会显着影响电池。您需要在不同的设备之间设置测试协议并对每个设备进行测试以确保,因为没有简单的方法来提供特定的数字。所有网络应用都不同。