【发布时间】:2011-09-04 18:07:27
【问题描述】:
我已经到处搜索此异常,但找不到解决方案,我们将不胜感激。 我尝试设置断点,但它们没有被击中,该错误在 log.v 中也可见,而不是在 log.e 中。 该代码适用于最初的几次调用,例如 10-12 次,然后变慢(开始因此错误而失败),并最终每次都抛出此错误。
_actionRunble = new Runnable() {
public void run() {
try{
##..##
_imView.setImageBitmap(bmImg);
Drawable oldD = _imView.getBackground();
Drawable dd = new BitmapDrawable(bmImg);
_imView.setBackgroundDrawable(dd);
//(((BitmapDrawable)oldD).getBitmap()).recycle();
Thread t = new Thread(_r);
t.start();
}catch(Exception e)
{
e.printStackTrace();
}
}
};
_r = new Runnable() {
@Override
public void run() {
downloadFile(imageUrl);
}
};
Bitmap bmImg;
void downloadFile(String fileUrl){
URL myFileUrl =null;
try {
myFileUrl= new URL(fileUrl);
} catch (MalformedURLException e) {
e.printStackTrace();
}
catch (Exception e) {
e.printStackTrace();
}
try {
HttpURLConnection conn= (HttpURLConnection)myFileUrl.openConnection();
conn.setDoInput(true);
conn.connect();
InputStream is = conn.getInputStream();
bmImg = BitmapFactory.decodeStream(is);
//this.runOnUiThread(_actionRunble);
_mHandler.postDelayed(_actionRunble, 2000);
//_mHandler.postAtFrontOfQueue(_actionRunble);
//_mHandler.post(_actionRunble);
} catch (IOException e) {
e.printStackTrace();
}
catch (Exception e) {
e.printStackTrace();
}
}
activity oncreate 调用 downloadfile(...) 并在调用返回后我再次使用相同的 url 调用以获取更新的图像。我尝试将主队列上的发布消息延迟 2 秒(尽管我不希望这样)但这也不起作用:(。 请随时进一步澄清。
【问题讨论】:
-
对于初学者,您应该断开()该 HttpURLConnection,最好在 finally 块中。使用后您并没有释放它,这听起来与运行多次的应用程序一致,您会耗尽资源。
-
您能否将
logcat输出添加到您的问题除外? -
@philipp:logcat 说 sntp 异常请求时间失败:java.net.socketexception:协议不支持地址系列。我想我已经解决了这个问题,如果它没有问题,我会发布答案再出故障一段时间。
-
在问题块本身中发布了答案,因为 SO.com 允许我在 8 小时前回答,因为我的声誉得分
标签: android