Blackberry Lwiit未捕获异常:java.lang.OutOfMemoryError(堆栈跟踪不完整)
我使用LWUIT选项卡开发了一个Rss应用程序,我想在我的LWUIT选项卡屏幕上显示Rss提要标题和图像,但当我运行我的应用程序时,我能够成功地显示三个列表(标题和图像)项,之后我面临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;
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异常。。。。