如何从内存中完全杀死和删除android phonegap应用程序

时间:2013-07-29 04:34:20

标签: android cordova

我遇到了这个问题。 当我启动并重启我的应用程序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];
                    }
             }
         }

1 个答案:

答案 0 :(得分:0)

在onCreate方法中调用此方法,这对我有用 - >

super.setBooleanProperty("keepRunning", false);