Chrome垃圾收集
Chrome garbage collection
本文关键字:Chrome 更新时间:2024-06-17
我必须为我的应用程序创建并保留数十万个对象。我在Chrome中注意到,有时当我加载页面时,即使我已经更改了0个代码,创建对象的时间也会比平时长。然后,在创建对象之后,页面的运行速度将比平时慢;CPU探查器通常会说它是GC或使用大部分CPU的某个随机函数。就像我说的,有时我会刷新页面而不更改任何代码,我不会看到这种行为。这两者是相辅相成的:如果对象由于任何原因创建得很慢,页面就会运行得很慢并说它是一个随机函数或GC。
在IE中,页面每次都按照我的预期运行。
如果不看到成千上万行代码,你就无法诊断任何东西,但有人能为我提供任何想法吗?Chrome为什么会表现出这种行为?有什么简单的调整我可以试试吗?谢谢
一个简单的提示就是这样。在没有看到您的代码的情况下,我不确定它是否适用。如果您使用以下模式创建对象:
function Foo() {
this.func1 = function () { ... };
this.func2 = function () { ... };
}
等等。,然后使用这个模式:
function Foo() {
}
Foo.prototype.func1 = function () { ... };
Foo.prototype.func2 = function () { ... };
后者最终会更快。我不确定它是否更能提高内存效率,但很可能。
相关文章:
- Chrome WebKitGetUserMedia
- JQueryhide()不适用于Mozzilla,但适用于Chrome
- 在chrome.tabs.onCreated之后加载HTML页面
- chrome扩展中的navigator.geolocation.getCurrentPosition
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- chrome扩展更改主机/域警告
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 如何在chrome扩展中重定向到html页面
- Chrome扩展没有't在重新加载之前考虑期权价值
- Google/html5语音识别JavaScript SDK Chrome网络工具包SpeechRecognition
- 激活chrome上的chrome.notifications对象
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- JS可以在Chrome中工作,但不能在Firefox中工作
- Chrome加载旧版本的Javascript文件
- 试图阻止Chrome通过扩展关闭
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- chrome在WebSocket握手期间获取新错误