有没有办法在测试中发现JavaScript内存泄漏?
我刚刚完成JavaScript应用程序的测试,第一次使用Jasmine。一切正常,但我仍然需要测试应用程序中是否存在内存泄漏。甚至可以在我的规范中以编程方式检查它吗?也许有一些额外的库用于此?正如我所知,没有自动的方法来查找javascript内存泄漏的来源。Javascript内存泄漏是一件非常糟糕的事情,你可能会浪费很多时间。最近,我正在开发一个非常大的企业web解决方案,作为一个单页应用程序,使用几乎1mb的最小自编代码。突然,我们意识到我们的应用程序正在严重泄漏。我尝试了数百种技术来寻找内存泄漏的来源,对我来说最简单的方法是使用有没有办法在测试中发现JavaScript内存泄漏?,javascript,testing,memory-leaks,jasmine,Javascript,Testing,Memory Leaks,Jasmine,我刚刚完成JavaScript应用程序的测试,第一次使用Jasmine。一切正常,但我仍然需要测试应用程序中是否存在内存泄漏。甚至可以在我的规范中以编程方式检查它吗?也许有一些额外的库用于此?正如我所知,没有自动的方法来查找javascript内存泄漏的来源。Javascript内存泄漏是一件非常糟糕的事情,你可能会浪费很多时间。最近,我正在开发一个非常大的企业web解决方案,作为一个单页应用程序,使用几乎1mb的最小自编代码。突然,我们意识到我们的应用程序正在严重泄漏。我尝试了数百种技术来寻找
googlechrome profiler
,拍摄堆快照并比较不同的堆快照。以下是如何执行此操作的更多信息:
祝您在调试应用程序内存泄漏方面度过愉快的一周,希望这将比我的情况下花费更少的时间。:) 据我所知,没有自动的方法可以找到javascript内存泄漏的来源。Javascript内存泄漏是一件非常糟糕的事情,你可能会浪费很多时间。最近,我正在开发一个非常大的企业web解决方案,作为一个单页应用程序,使用几乎1mb的最小自编代码。突然,我们意识到我们的应用程序正在严重泄漏。我尝试了数百种技术来寻找内存泄漏的来源,对我来说最简单的方法是使用
googlechrome profiler
,拍摄堆快照并比较不同的堆快照。以下是如何执行此操作的更多信息:
祝您在调试应用程序内存泄漏方面度过愉快的一周,希望这将比我的情况下花费更少的时间。:) 据我所知,没有自动的方法可以找到javascript内存泄漏的来源。Javascript内存泄漏是一件非常糟糕的事情,你可能会浪费很多时间。最近,我正在开发一个非常大的企业web解决方案,作为一个单页应用程序,使用几乎1mb的最小自编代码。突然,我们意识到我们的应用程序正在严重泄漏。我尝试了数百种技术来寻找内存泄漏的来源,对我来说最简单的方法是使用
googlechrome profiler
,拍摄堆快照并比较不同的堆快照。以下是如何执行此操作的更多信息:
祝您在调试应用程序内存泄漏方面度过愉快的一周,希望这将比我的情况下花费更少的时间。:) 据我所知,没有自动的方法可以找到javascript内存泄漏的来源。Javascript内存泄漏是一件非常糟糕的事情,你可能会浪费很多时间。最近,我正在开发一个非常大的企业web解决方案,作为一个单页应用程序,使用几乎1mb的最小自编代码。突然,我们意识到我们的应用程序正在严重泄漏。我尝试了数百种技术来寻找内存泄漏的来源,对我来说最简单的方法是使用
googlechrome profiler
,拍摄堆快照并比较不同的堆快照。以下是如何执行此操作的更多信息:
祝您在调试应用程序内存泄漏方面度过愉快的一周,希望这将比我的情况下花费更少的时间。:) Chrome具有window.performance API的非标准扩展--(),您可以在其中测量内存使用情况 要启用精确内存统计,必须使用此标志:
--启用精确内存信息
但您还需要强制GC在测试后判断内存是否保留。因为CG不会立即发生
使用Chromium browser,您可以使用特殊的命令标志运行它,以公开强制GC的方法:
chromium-browser --js-flags='--expose_gc'
这使您可以访问方法
window.gc()
Chrome具有window.performance API的非标准扩展--(),您可以在其中测量内存使用情况
要启用精确内存统计,必须使用此标志:--启用精确内存信息
但您还需要强制GC在测试后判断内存是否保留。因为CG不会立即发生
使用Chromium browser,您可以使用特殊的命令标志运行它,以公开强制GC的方法:
chromium-browser --js-flags='--expose_gc'
这使您可以访问方法
window.gc()
Chrome具有window.performance API的非标准扩展--(),您可以在其中测量内存使用情况
要启用精确内存统计,必须使用此标志:--启用精确内存信息
但您还需要强制GC在测试后判断内存是否保留。因为CG不会立即发生
使用Chromium browser,您可以使用特殊的命令标志运行它,以公开强制GC的方法:
chromium-browser --js-flags='--expose_gc'
这使您可以访问方法
window.gc()
Chrome具有window.performance API的非标准扩展--(),您可以在其中测量内存使用情况
要启用精确内存统计,必须使用此标志:--启用精确内存信息
但您还需要强制GC在测试后判断内存是否保留。因为CG不会立即发生
使用Chromium browser,您可以使用特殊的命令标志运行它,以公开强制GC的方法:
chromium-browser --js-flags='--expose_gc'
这使您可以访问方法window.gc()