Javascript 一个网站有可能加热android设备并导致更快的电池消耗吗?

Javascript 一个网站有可能加热android设备并导致更快的电池消耗吗?,javascript,angularjs,performance,Javascript,Angularjs,Performance,我正在开发一个网站,它是一个单页应用程序(基于AngularJS构建) 然而,我的客户抱怨说,使用该网站会导致用户设备升温,电池消耗速度加快 用于开发的技术 对于后端 -PHP/Codeigniter 前端 -角JS 我也有很多用本地Javascript编写的代码 网站是否可能导致这些问题?如果是,我该如何解决这个问题?编码不当的JavaScript会导致浏览器使用更多资源,从而导致设备升温或电池消耗更快 要寻找的东西:网络呼叫、不必要的事件侦听器(触摸、滚动)、昂贵的动画等 如何解决: 尝试删

我正在开发一个网站,它是一个单页应用程序(基于AngularJS构建)

然而,我的客户抱怨说,使用该网站会导致用户设备升温,电池消耗速度加快

用于开发的技术

对于后端 -PHP/Codeigniter

前端 -角JS

我也有很多用本地Javascript编写的代码


网站是否可能导致这些问题?如果是,我该如何解决这个问题?

编码不当的JavaScript会导致浏览器使用更多资源,从而导致设备升温或电池消耗更快

要寻找的东西:网络呼叫、不必要的事件侦听器(触摸、滚动)、昂贵的动画等

如何解决: 尝试删除一些会导致web应用程序延迟的动画和事件侦听器,这些可能是使用最多资源的动画和事件侦听器。通过这种方式,您需要过滤我们的错误代码并对其进行优化


你可以参考这篇英国广播公司的文章来获得关于这方面的详细报道:

有很多因素,例如:

  • 导致多次重绘的动画
  • 如果您有许多观察者,频繁的更新将导致大量工作执行摘要周期
  • 维护TCP连接的成本也非常高,因此,如果您查询后端服务器的实时数据,这将对移动设备造成影响(另一个例子是收集分析数据,如单击并立即将其发送到服务器)
针对这种情况的修复措施是减少观察者的数量,减少在手机上执行更新的频率。像那些来自分析的更新应该成批发送

没有一种解决方案适用于所有情况,如果您想节省客户的电池,您可以分析您的应用程序,查看哪些代码部分比较昂贵,并决定是否需要在移动设备上执行这些代码


还有一件很重要的事情-请验证是您的应用程序导致了这些数据的流失,因为这可能是不同的,您将浪费时间尝试优化一些正常工作的数据。

长话短说:是的,这是可能的。 开发时,可以选择两种方法来处理计算:

  • 您可以在服务器端本地处理它们
  • 通过将它们推送到客户端,您可以远程处理它们

后者通常在编码不当时,会在客户端产生高且持续的CPU使用率,从而导致设备发热,电池电量迅速耗尽。

是的,网站让手机做的越多,它会得到的温度就越高,使用的电池也就越多“该做什么”的问题AngularJS本身就足够了:)请确保在不再需要任何事件侦听器时删除它们。如果您不清理事件侦听器并多次应用它们,这将导致内存泄漏并降低设备速度。Opera的最新版本包括一个加密挖掘拦截器,这表明做昂贵的工作肯定是可能的。请参阅,请在您的答案中包含文章的重要部分,因为它可能会在将来被删除。我认为“糟糕的javascript编码”并不足以暗示op,这就是为什么我要求您提供更多详细信息:)您可能需要提一下,保持连接打开实际上对RF外围设备来说很困难,而不是CPU本身。(但无论哪种方式,它都会耗尽电池并产生热量)