我已经搜索了一整天而且找不到问题为什么我的phonegap应用程序会出现如此大的内存泄漏问题,该应用程序使用了大量的ajax-jsonp请求到服务器。
因此我将其分解为最简单的例子。你可以找到它here on 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();
所以这段代码每隔250ms就会调用一次jsonp api请求。
请注意: 我知道这是一个你永远不会实现的例子!它只是用于检测内存泄漏。
当我运行此示例时,已用内存会迅速增加(您可以在Chromes Timeline选项卡中看到它最佳)。 DOM节点的数量也在迅速增加。在某些时候它崩溃了(可能是一些GC?)但元素和所需的内存迅速增加。
你们有谁知道如何解决这个问题?
谢谢!
答案 0 :(得分:4)
这不是内存泄漏,锯齿类型图在java中很常见。内存使用率上升,垃圾收集器被调用,然后下降。您展示的图表就是这种情况。
如果图表的低点不断增加,则会出现内存泄漏,而图表中没有显示。