【问题标题】:How the ReactJS can manage the browser's RAM/CPU resources?ReactJS 如何管理浏览器的 RAM/CPU 资源?
【发布时间】:2018-09-30 01:22:40
【问题描述】:

今天我有一个工作面试,他们问了我一个不同的问题。他说,在单页应用程序 (SPA) 结构中,前端开发人员应该管理客户端资源并清理其他进程使用情况(RAM、CPU)。

他说当客户端打开更多页面或发送更多请求时,客户端RAM和CPU会使用更多,将来他们的浏览器会崩溃或者这个浏览器会很慢,因为资源使用越来越多,组件会互相打开。

他说有很多方法可以解决这个问题,每个人都有不同的解决方案来解决这个问题。我告诉他我认为 Virtual DOM 可以解决这个问题,默认情况下 ReactJS 可以支持这个问题。

他同意了,但我怀疑我的回答是否正确。那么,管理 SPA 客户端计算机资源(RAM、CPU)的正确方法或解决方案是什么?

【问题讨论】:

  • 你无法真正“管理”它。那就是浏览器的工作。您只需使用资源并尝试尽可能提高内存/性能。使用 React 可能是性能方面的(在一定程度上)并且使用更多的内存
  • @JonasW。谢谢,所以没有固定的方法或特定的方法来管理这个问题?!我认为我们可以处理加载内存使用的最新组件并清理后台内存以获得新鲜和干净的资源以优化应用程序...
  • 没有办法直接做垃圾收集或直接从javascript访问内存,所以不,你不能。
  • @JonasW。谢谢,我们不能杀死以前的进程来管理这个问题吗?因为显然最新的组件已经加载,而那些只是隐藏...
  • 你说的是哪个进程?!?

标签: javascript reactjs performance single-page-application virtual-dom


【解决方案1】:

浏览器(客户端)无法让您直接访问 RAM 或 CPU 等系统资源,因此您无法真正控制这些资源。但是过多地遍历 DOM 并进行过多频繁的 API 调用会导致 Web 应用程序的性能降低。 React 确实通过它的虚拟 dom 特性改进了渲染,这意味着 DOM 只有在绝对需要时才会更新。此外,缓存变化较少的数据集可以减少 Web 应用程序必须进行的 API 调用次数。一般来说,尽量不要在数据量大的 Web 应用程序的单个页面中呈现大量数据,始终使用分页。另外,尽量不要在一次 API 调用中获取大量数据。

【讨论】:

  • 谢谢,但是通过管理加载的组件我们无法管理资源使用?例如删除旧状态或管理加载的组件?!
  • 除非您使用像 redux 这样的状态管理库,否则如果您从特定页面导航到 SPA 中的另一个页面,前一页面的状态将会丢失
猜你喜欢
  • 2012-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多