【发布时间】:2018-04-05 10:53:09
【问题描述】:
我正在检查 AngularJS 应用程序的性能问题。
执行特定操作时,CPU 使用率达到 100%,Chrome 窗口冻结,我必须使用 Chrome 的任务管理器手动终止进程。
我尝试调试应用程序(DevTools 的 Sources 选项卡),但应用程序非常大并且代码被缩小,这意味着找到问题并不容易:我看到一个大量代码由摘要循环触发,无法确定哪个代码是真正的罪魁祸首。
在应用程序冻结后能够对其进行分析可能会有所帮助;我很确定分析器会立即显示实际的瓶颈。我可以在冻结发生之前成功启动分析器(Performance 选项卡),但是一旦应用程序冻结,当我单击 Stop 按钮时,正在加载配置文件 em> 窗口卡在百分之零(我等了十五分钟才确定,它仍然为零),所以我想它也被冻结了。
所以我的问题是:
当我无法通过简单地调试应用程序来找出导致应用程序冻结的原因时,如何找到它?
【问题讨论】:
-
尝试使用custom directive 检测摘要循环调用。延迟的常见来源可以来自watchers。尝试检测a memory leak
标签: angularjs performance google-chrome debugging profiling