我已经搜索了整整一天,但找不到为什么在我的 phonegap 应用程序中出现如此大的内存泄漏的问题,该应用程序对服务器使用了大量的 ajax-jsonp 请求。
因此,我将其分解为最简单的示例。您可以在 jsfiddle 上找到它。
它的主要内容是:
function run(){
$.ajax({
dataType: 'jsonp',
url: "http://thawing-bayou-7281.herokuapp.com/test.js",
success: function (res) {
// some stuff here
setTimeout(run, 250);
}
});
};
run();
因此,此代码每 250 毫秒无限次调用 jsonp api 请求。
请注意:我知道这是一个你永远不会这样实现的例子!它只是用于检测内存泄漏。
当我运行这个示例时,使用的内存迅速增加(您可以在 Chrome 时间轴选项卡中看到它最好的情况)。 DOM 节点 的数量也在迅速增加。在某些时候它会崩溃(可能是一些 GC?),但元素和所需的内存会迅速增加。
你们中有人知道如何解决这个问题吗?
谢谢!