【发布时间】:2014-04-19 07:12:56
【问题描述】:
我正在优化我的大Angular App。我发现Google DevTools 非常适合检测问题。由于我刚刚开始了解DevTools,我对内存泄漏感到非常困惑。
当我在我的应用程序中来回移动到不同页面时,配置文件堆快照大小一次又一次地增加,所以我认为有些对象没有被 GC 清理,这就是我的应用程序在一段时间后变慢的原因如何解决这个问题。请帮忙。
注意
这是我使用 DevTools 所理解的,如果我错了,请纠正我。欢迎提出其他建议。
到目前为止我用过的
- AngularOnce 指令用于在需要时减少监视。
- QuickList 指令将 ng-repeat 替换为 quick-ng-repeat。
- InView 指令,用于处理大型列表,因此我正在删除不在视口中的 DOM。
- ngInfiniteScroll 指令的延迟加载方法。
【问题讨论】:
-
这是一个很好的例子,说明您需要提供什么样的信息才能让某人能够提供一个体面的答案:stackoverflow.com/questions/20654684/…
-
对此答案的更新——现在 angular 1.3.x 已经发布,您可以在大多数情况下使用
::bind-once 方法,而不是添加另一个依赖项来处理这个问题。跨度> -
如果您使用 AngularUI 路由器,请注意它的内存泄漏。 github.com/angular-ui/ui-router/issues/545
标签: angularjs memory-leaks google-chrome-devtools