【发布时间】:2012-02-14 07:31:29
【问题描述】:
在我的应用程序中,我将视图动态添加到线性布局中。每个视图都包含图像。滚动视图中的整个线性布局。最初图像加载正确。假设我向上/向下滚动屏幕,然后我得到内存不足的异常。请任何人帮助我。
以下是我的代码,请参考。
Code
这是在活动中
//itemurl是一个字符串
//holder是Viewholder实例
DownLoadImageInAThreadHandler_tracked(ImageUrl,holder);
Method
private void DownLoadImageInAThreadHandler_tracked(final String imgurl,final ViewHolder holder) {
//Thread for getting the attributes values
Thread t = new Thread()
{
public void run()
{
try
{
Drawable drawable = getDrawableFromUrl_tracked(imgurl);
System.out.println("Drawable(after downloading):"+drawable);
if(drawable != null)
{
holder.trackedimgURL.setImageDrawable(drawable);
holder.trackedimgURL.setVisibility(View.VISIBLE);
holder.trackedprogress.setVisibility(View.INVISIBLE);
}
else
{
System.out.println("Set the default image(drawable is null)");
holder.trackedimgURL.setImageResource(R.drawable.giftsuggestionsnoimage);
}
}
catch(Exception exp)
{
System.out.println("Exception in DownLoadImageInAThread : " + exp.getMessage());
}
}
};
t.start();
}
public Drawable getDrawableFromUrl_tracked(String url)
{
Drawable image = null;
try {
InputStream in = (java.io.InputStream) new java.net.URL(url).getContent();
if (in != null) {
image = Drawable.createFromStream(in, "image");
in.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
return image;
}
【问题讨论】:
标签: android