use*_*686 7 memory-leaks devtools rxjs angular
为了避免内存泄漏,我如何专门检查 Angular 应用程序是否存在垃圾 Observable(那些尚未取消订阅的对象)?
我认为这是不可能的——这样的机制需要所有 Observable 的中央存储——这反过来又会带来内存泄漏的巨大风险。
建议#1
尝试在您的项目中搜索所有用途.subscribe,然后检查每个结果是否包含在某个时刻取消订阅的机制。任何手册都.subscribe应该有某种取消订阅的机制。
建议#2
使用 DevTools 随着时间的推移创建内存/堆快照,如果内存和对象计数都没有随着时间的推移而增加,那么在使用应用程序时,您可以相当确定内存泄漏不是您的应用程序的问题。我不会在这里详细介绍如何使用 DevTools,因为这“稍微”超出了范围,但请查看此链接(对于 Chrome DevTools):https://developers.google.com/ web/tools/chrome-devtools/memory-problems/ (如果链接随时不可用,只需谷歌“如何使用 chrome 开发者工具堆快照”)
| 归档时间: |
|
| 查看次数: |
4029 次 |
| 最近记录: |