Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从内存中完全杀死并删除android phonegap应用程序_Android_Cordova - Fatal编程技术网

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

如何从内存中完全杀死并删除android phonegap应用程序,android,cordova,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): Fata

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

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

super.setBooleanProperty("keepRunning", false);

我不知道如何用javascript编写代码,但我也有同样的问题,通过使用MAT和遵循android的适当生命周期解决了这个问题。在调用destroy并将intent标志设置为nohistory之前,将所有对象设置为null。代码是cocos2d代码。它动态加载116个脚本标记。我编辑了问题MAT.“你是什么意思?”我应该将哪些对象设置为空。你能提供一些更多的解释吗?我使用System.exit0部分解决了这个问题,但我认为这不应该是一个最佳实践。但这不是android的方式。