Memory 代码名1内存不足

Memory 代码名1内存不足,memory,memory-leaks,out-of-memory,codenameone,Memory,Memory Leaks,Out Of Memory,Codenameone,我的应用程序使用侧面板菜单作为导航,当我显示新表单或打开侧栏面板时,应用程序占用越来越多的内存。可能的话,这取决于在侧边栏中使用一些图像处理(将图像屏蔽为圆形)和大量使用URLImage类下载图像。但很可能是因为我没有释放前一种形式的内存 我怎样才能释放这段记忆 更改表格守则: public void showForm(FormBuilder form) { if ( current == null || ( ! form.getForm().getTitle().eq

我的应用程序使用侧面板菜单作为导航,当我显示新表单或打开侧栏面板时,应用程序占用越来越多的内存。可能的话,这取决于在侧边栏中使用一些图像处理(将图像屏蔽为圆形)和大量使用URLImage类下载图像。但很可能是因为我没有释放前一种形式的内存

我怎样才能释放这段记忆

更改表格守则:

public void showForm(FormBuilder form) {
    if ( current == null ||
         ( ! form.getForm().getTitle().equals(current.getTitle()) )
    ) {
        current = form.getForm();
        if (!(form instanceof splash)) {
            try {
                sideMenu.addMenu(current);
            } catch (IOException ex) {

            }
        }
        current.show();
    }
}
void sideMenu.addMenu(表单)-用于将侧边栏菜单添加到表单的静态功能。

以前的表单“应”为GC。但是,如果您在上一个表单中引用了一个元素,则整个表单及其所有内容都将保留。这是因为每个组件都有一个对其父窗体的引用


您可以使用诸如NetBeans内存分析器之类的工具以及我们在NetBeans中的工具来跟踪内存使用情况。图像屏蔽有点贵,但如果使用内置在
urlmimage
中的那一个,所有的内存开销都是GC'd,所以应该不会有问题。

这个工具有很多问题。如果我呼叫性能或网络监视器-我的应用程序的仿真窗口可能无法单击。反之亦然-Emulator工作正常,但监视器不可单击。然而,performance monitor向我显示了内存溢出,其他我无法理解的是,窗口不应该阻止单击功能,它总是在顶部,但不是模态。您在哪个OS/Java版本上遇到过这种情况?Linux 3.13.0-45-generic 74 Ubuntu SMP Tue Jan 13 19:36:28 UTC 2015 x86_64 x86_64 x86_64 GNU/Linuxjava版本“1.7.0_75”OpenJDK运行时环境(IcedTea 2.5.4)(7u75-2.5.4-1~trusty1)OpenJDK 64位服务器虚拟机(构建24.75-b04,混合模式)可能是Gnome端口没有正确实现AWT-on-top API。啊。我不确定我们怎样才能正确地解决这个问题。你试过netbeans内存分析器吗?它应该指出持有的是哪一个对象以及对它的引用保存在哪里。