Java HttpURLConnection捕获块重复

Java HttpURLConnection捕获块重复,java,android,try-catch,httpurlconnection,try-catch-finally,Java,Android,Try Catch,Httpurlconnection,Try Catch Finally,我正在AsyncTask中测试不完整的URL,以处理缺少的图像,并为我的imageview使用默认的drawable。我注意到stacktrace打印了好几次。我担心这也会一次又一次地创建位图。这正常吗?有没有更好地处理这个问题的建议 代码: Stacktrace(重复15次以上): 你可以考虑使用或者加载你的图片。这将使图像加载更加简单。这两个库都处理在后台加载图像/缓存磁盘上已加载的图像/指定默认图像,以防在检索图像时请求失败 加载图像只需执行以下操作: Glide.with(context

我正在AsyncTask中测试不完整的URL,以处理缺少的图像,并为我的imageview使用默认的drawable。我注意到stacktrace打印了好几次。我担心这也会一次又一次地创建位图。这正常吗?有没有更好地处理这个问题的建议

代码:

Stacktrace(重复15次以上):


<>你可以考虑使用或者加载你的图片。这将使图像加载更加简单。这两个库都处理在后台加载图像/缓存磁盘上已加载的图像/指定默认图像,以防在检索图像时请求失败

加载图像只需执行以下操作:

Glide.with(context)
    .load("http://goo.gl/gEgYUd")
    .placeholder(R.drawable.loading_spinner)
    .into(imageView);
我个人更喜欢Glide,因为我发现它速度更快,但这两个库都工作得很好,可以省去手动处理位图的麻烦。

Android Query

Android Query(AQuery)是一个轻量级的库,用于在Android中执行异步任务和操作UI元素。 你可以从这里买到水

和来自

您可以通过以下简单代码将图像从url加载到imageview

AQuery aq = new AQuery(getApplicationContext());
ImageView image=(ImageView)findViewById(R.id.imageview);
aq.id(image).image("http://www.vikispot.com/z/images/vikispot/android-w.png");

是否多次实例化AsyncTask,例如将图像加载到ListView?@CSmith是的,它为每个列表项提取一个图像。现在我只有3项,其中一项的URL不正确。您的列表适配器getView()正在为该行多次调用,导致您排队等待15次对该行的调用AsyncTask@CSmith谢谢,这为我指明了正确的方向。我的列表视图有布局\高度=换行\内容。将此更改为“填充父项”会导致每个项目都有一次调用。感谢您的建议!我一定去看看。我正在为Android学习udacity和Lynda课程,这看起来比我目前学到的要简单得多。谢谢你的建议!我来看看。比我一直在做的要干净得多。
Glide.with(context)
    .load("http://goo.gl/gEgYUd")
    .placeholder(R.drawable.loading_spinner)
    .into(imageView);
AQuery aq = new AQuery(getApplicationContext());
ImageView image=(ImageView)findViewById(R.id.imageview);
aq.id(image).image("http://www.vikispot.com/z/images/vikispot/android-w.png");