我遇到了这个问题。 当我启动并重启我的应用程序5次时,我的内存泄漏。似乎phonegap和Cordova浏览器会在内存中留下一些物体。
07-28 03:48:01.886: E/dalvikvm(10729): Failed adding to JNI local ref table (has 512 entries)
07-28 03:48:01.895: E/dalvikvm(10729): VM aborting
07-28 03:48:01.895: A/libc(10729): Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1)
Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1)
一旦应用程序崩溃,我可以正常重新启动应用程序,它可以工作5次。 那么我怎么能正常杀死我的应用程序以删除内存中的所有javascript?
// about 116 script elements
que.forEach(function (f, i) {
var s = d.createElement('script');
s.async = false;
s.src = f;
s.onload = function () {
loaded++;
p = loaded / que.length;
//TODO: code for updating progress bar
};
d.body.appendChild(s);
que[i] = s;
});
这也没有解决问题:
for (var i = tags.length; i >= 0; i--){ //search backwards within nodelist for matching elements to remove
if (tags[i] && tags[i].getAttribute('src') != null) {
tags[i].parentNode.removeChild(tags[i]); //remove element by calling parentNode.removeChild()
for (var prop in tags[i]) {
delete tags[i][prop];
}
}
}
答案 0 :(得分:0)
在onCreate方法中调用此方法,这对我有用 - >
super.setBooleanProperty("keepRunning", false);