1
我遇到此問題。 當我啓動並重新啓動我的應用程序5次時,內存泄漏。看起來phonegap和Cordova瀏覽器在內存中留下了一些對象。如何從內存中完全殺死和刪除android phonegap應用程序
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];
}
}
}
我硝基甲苯知道如何在JavaScript代碼,但我也有同樣的問題,並解決了使用MAT和適當的生命週期爲Android。在調用destroy和將意圖標誌設置爲nohistory之前,將所有對象設置爲null。 – baloo
代碼是cocos2d代碼..它動態加載116個Script標籤。我編輯了這個問題 –
您對MAT的含義是什麼?我應該將哪些對象設置爲空。你能提供一些更多的解釋請 –