Blackberry Lwiit未捕获异常:java.lang.OutOfMemoryError(堆栈跟踪不完整)

Blackberry Lwiit未捕获异常:java.lang.OutOfMemoryError(堆栈跟踪不完整),blackberry,java-me,lwuit,Blackberry,Java Me,Lwuit,我使用LWUIT选项卡开发了一个Rss应用程序,我想在我的LWUIT选项卡屏幕上显示Rss提要标题和图像,但当我运行我的应用程序时,我能够成功地显示三个列表(标题和图像)项,之后我面临java.lang.OutOfMemoryError(堆栈跟踪不完整)尽管有列表项目,但有人能帮忙吗……谢谢 这是我的代码: public class Process { protected XMLMidlet midlet; Form form1; Image image;

我使用LWUIT选项卡开发了一个Rss应用程序,我想在我的LWUIT选项卡屏幕上显示Rss提要标题和图像,但当我运行我的应用程序时,我能够成功地显示三个列表(标题和图像)项,之后我面临java.lang.OutOfMemoryError(堆栈跟踪不完整)尽管有列表项目,但有人能帮忙吗……谢谢

这是我的代码:

public class Process {
     protected XMLMidlet midlet;

     Form form1;
     Image image;
     Tabs tabs;
     private List myNewsList;
    private Vector topnews;
    private Vector topstory;
    private Command cmdExit;
    private Command m_backCommand;
      private List newsList;
        private Form form2;
    Process(XMLMidlet midlet) throws IOException {
           this.midlet=midlet;
           topnews = new Vector();
        topstory = new Vector();
       tabs = new Tabs();
        form1 = new Form();
        form2=new Form();
           try {
            newsList = new List(topnews);
            newsList.setScrollVisible(false);
            newsList.setRenderer(new NewsListCellRenderer());   
         m_backCommand = new Command("Back");
        cmdExit = new Command("EXIT");
           tabs.addTab("Topstory", newsList); 
            form1.addComponent(BorderLayout.CENTER, tabs);                           
}
catch(Exception e){
    e.printStackTrace();
}           }

   public void process() {
       try{
   String url = "http://www.teluguone.com/news/tonefeeds/news/news-1.rss";

       form1.show();
       ParseThread myThread = new ParseThread(this);
       myThread.getXMLFeed(url);

        } catch (Exception e) {

        }

    }
   public void addNews(News newsItem) {

try{
            topnews.addElement(newsItem);
            newsList.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent ae) {

                    List source = (List) ae.getSource();
                    News selectedNewsItem = (News) source.getSelectedItem();
                    if (selectedNewsItem != null) {
                        displayCompleteNewsScreen(selectedNewsItem);

                    }

                }


            });
}
catch(OutOfMemoryError r){

}
        form1.show();


    }


    private void displayCompleteNewsScreen(News detailNews) {

       try{ 
        form2.removeAll();
        form2.repaint();
        form2.addCommand(m_backCommand);
        form2.addCommandListener(new ActionListener() {

            public void actionPerformed(ActionEvent ae) {
                form1.show();
            }
        });

        HTMLComponent com=new HTMLComponent();
        com.setPreferredSize(new Dimension(300,300));
com.setShowImages(false);

       com.setBodyText(detailNews.getDescription());
       form2.addComponent(com);
        //form2.addComponent(big);
        }
       catch(OutOfMemoryError e){

       }
        form2.show();

    }



}

图像有多大?我们这里说的是什么手机


我打赌你得到的图像在显示之前不会被缩小。我相信LWUIT中有一些方法可以缩小图像的大小。记得在将图像添加到表单后处理创建的临时图像。

HI lan Gil,你能检查一下吗?你看,我能显示文本,但我不能显示我解析过的图像。我得到了htmltext,它包含描述和图像标记(图像和描述)要在我的诺基亚sdk 3.0和诺基亚sdk 2.0上显示它,请告诉我如何缩放从HTMLString获取的图像…您可以尝试将图像与其他图像分开。基于src创建一个映像,然后您可以使用它。还有其他图像缩放算法。出于测试目的,我所做的是,我从Rss文件中获取Html字符串时,我已经从字符串中删除了“src”属性(因此最后没有图像标记的问题),并且我测试了我的应用程序,我能够成功地显示描述(纯文本),但它仍然抛出了OutOfMemory异常。。。。