草庐IT

javascript - Three.js 中的内存泄漏

我们正在尝试创建一个单页应用程序,用户可以在其中在多个Three.js应用程序之间切换。但是,我们注意到选项卡的内存使用量不断增加。它们在我们的应用程序中没有内存泄漏,似乎Three.js变量没有从RAM中清除。重新创建的步骤访问http://threejs.org/examples/并在GoogleChrome中打开任务管理器以查看相关选项卡的内存使用情况。不断在示例之间切换,您会注意到内存使用量不断增加,并且GC似乎从未发生或无法取消链接以前消耗的内存块。我的笔记本电脑配置如下https://aboutmybrowser.com/pDp7aTxH当一切开始卡住时,内存很容易超过1G

javascript - Angular.js 内存泄漏,我应该什么时候开始担心

所以我有这个相当大的应用程序构建在Angular上,有很多嵌套状态、很多指令、数据表和东西。我们最近决定切换到完整的单页,而不是只有几个小的单应用部分(比如文章、人员、仪表板以前都是一个小的单页应用),所以我开始更多地处理性能问题。在chrome中,你不会在视觉上注意到任何东西,另一方面,在firefox中,我认为它会随着时间的推移而变慢。所以我开始使用三种快照技术来查看发生了什么。但我不完全确定该怎么做。IMAGE每次拍摄快照时,快照大小都会加倍(第一个15mb、第二个67mb、第三个120mb),这意味着什么吗?有很多红色dom,例如4000个红色div现在我觉得那些红色的div、

javascript - JavaScript (Chrome) 中的内存泄漏

我每秒调用一个函数50次,它在上大量绘制时会做一些昂贵的事情元素。它工作得很好,没有问题,但我只是看了一下内存使用情况,它每秒窃取了我1MB的RAM。Chrome似乎在进行垃圾收集,因为它每分钟左右下降一次,但随后使用量再次增长。我试过的是把return在我的函数的某些地方,以确定我的函数的哪一部分确切地导致了泄漏。我已经能够将它缩减为特定的代码行,之后是邪恶的部分,但我真的不知道如何解决它。我的问题是:有什么工具可以有效测量Chrome中的JavaScript内存泄漏?将变量设置为null是否有效?/undefined在使用它们之后,处理它们之类的东西?如果真的需要源代码,我会毫不犹

javascript - 记录复杂对象时内存泄漏

我目前正忙于编写一个javascript库。在那个库中,我想提供一些关于控制台内容的日志记录。functionlog(){if((window&&typeof(window.console)==="undefined")||!enableLogging){returnfalse;}functioncurrentTime(){vartime=newDate();returntime.getHours()+':'+time.getMinutes()+':'+time.getSeconds()+'.'+time.getMilliseconds();}varargs=[];args.push(

javascript - 检测代码中的 node.js/javascript 内存泄漏

我有somecode那是有效的,但是它有内存泄漏。在node.js中跟踪内存泄漏有哪些好的策略?寻找此类泄漏时应该遵循哪些步骤?如何跟踪代码中的泄漏?谢谢 最佳答案 您可以通过分析应用程序的内存使用情况来解决这个问题。Javascript对象分配在堆上,因此您需要一个可以转储堆的工具。获取堆转储后,您可以检查它并查看存在多少给定对象(或函数)的实例。例如,对于您的代码,您知道每当用户连接时都会创建一个套接字。在三个用户连接时转储堆应该显示~3个套接字。在这些用户断开连接后转储堆应该显示~0个套接字。您实际上可以将Chrome堆转储分

javascript - 调用setTimeout后不调用clearTimout是否存在内存泄漏问题

调用setTimeout后,不调用clearTimeout是否存在内存泄漏问题?谢谢。 最佳答案 没有。clearTimeout只需要在你想阻止挂起的setTimeout发生时调用。setTimeout发生后,计时器ID不再有效,但幸运的是使用无效计时器ID调用clearTimeout是无害的。如果您看到发生内存泄漏,则问题出在其他地方。 关于javascript-调用setTimeout后不调用clearTimout是否存在内存泄漏问题,我们在StackOverflow上找到一个类似的

javascript - Stripe Checkout 是否泄漏内存?

我看到的问题是,当您加载StripeCheckout时使用他们规范的“自定义”指南进入页面,配置它,然后打开和关闭它几次,浏览器内存使用量不断跳跃。有时,有点被释放了一点,但残留物总是在增长。在长期存在的页面/SPA上,最终会爬取内容。使用--enable-precise-memory-info标志启动GoogleChrome(无论有没有这个标志都会出现问题)复制他们网站上的“自定义”示例:https://stripe.com/docs/checkout#integration-custom(或使用您自己的设置,结果是一样的)。点击“购买”按钮(或触发您的stripeInstance.

javascript - 在 Internet Explorer 中调试内存泄漏

是否有任何好的工具可以帮助解决和调试InternetExplorer中的内存泄漏问题? 最佳答案 看看IE-Sieve 关于javascript-在InternetExplorer中调试内存泄漏,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5829948/

javascript - jQuery.remove(),分离 DOM 元素,但我仍然可以从代码中访问这些元素。如何避免泄漏?

我知道在具有大量UI元素且完全基于Ajax的应用程序中正确管理内存并不容易(在我的应用程序中,页面永远不会重新加载)。但我想了解以下行为:我有一个根元素,一次必须附加一个子元素(将其视为根元素是应用程序容器,子元素是单个页面)。每当我在子内容之间切换时,我都会使用jQuery.remove()删除之前的内容,但我发现该内容实际上已从DOM中分离出来,但仍保留在内存中。root和两个子内容(child1和child2)我从child1切换到child2,要求我的应用程序管理器在附加child2之前删除child1正在附加child2(我可以看到),但我仍然可以使用管理child1的代码中

javascript - 为什么浏览器中的 mocha 抛出从 url 而不是从 unc 路径检测到的全局泄漏?

我正在创建一个javascript库并想使用BDD,所以我正在尝试mocha,但我无法让它工作。我希望在客户端上使用该库,所以我假设让它从可浏览的url运行是有意义的,在Web连接的上下文中,而不仅仅是来自unc路径的沙箱。这是虚拟起点文件test/test.foobar.jsvarassert=chai.assert;varfoobar={sayHello:function(){return'HelloWorld!';}};describe('Foobar',function(){describe('#sayHello()',function(){it('shouldworkwith