【发布时间】:2012-04-19 14:53:12
【问题描述】:
我有一个相当复杂的 javascript 应用程序(它不使用外部框架),用户目前正在测试它(几千行)。我收到报告说用户在 Google Chrome 中看到弹出窗口说:
以下页面已无响应。你可以等他们 响应或杀死他们。
他们报告说,继续使用该应用的唯一方法是打开一个新的 Chrome 窗口,但消息每隔几分钟就会出现一次,并且只有在他们尝试转到新页面时才会出现。他们特别说他们点击进入新页面,当前页面永远不会改变,他们只会看到旋转加载图标一分钟,直到弹出窗口出现。
奇怪的是,我已经在这些用户遇到问题的 Chrome (18) 的确切版本上进行了广泛的测试,而且我没有发现任何问题。我有点难过,现在不知道在哪里看,因为我无法复制它,关于在哪里看的任何想法至少尝试找出可能导致该错误的原因?
【问题讨论】:
-
尝试运行 SpeedTracer for Chrome 以获取任何长时间运行的进程的配置文件,然后调查那些内存泄漏、繁重计算等。developers.google.com/web-toolkit/speedtracer
-
您可以尝试做一个堆快照,看看是否有一些对象正在消耗越来越多的内存。此外,尝试找出代码中需要更多计算时间的部分,然后对它们进行注释或使用 setTimeout,直到找到问题的确切位置
-
知道为什么其中任何一个都不会以同样的方式影响每个人吗?
-
Chromes Profiles / Profiler 允许您让现有代码运行基准测试,以查看哪些逻辑消耗的资源最多。这很可能是罪魁祸首。+