我已經搜索了這個例外無處不在,但無法找到解決方案&任何幫助,將不勝感激。 我已經試過把斷點,但他們不被打,錯誤也可以在log.v中看到,而不是在log.e. 該代碼適用於第一次調用10-12次,然後變慢(開始失敗,出現此錯誤),並最終每次都會拋出此錯誤。請求時間失敗:java.net.socketexception:協議不支持的地址族
_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();
}
}
活動oncreate調用downloadfile(...)和呼叫返回後,我再次調用相同的URL獲取更新的圖像。我試圖延遲主隊列發佈消息2秒(雖然我不希望那樣),但那並不工作太。(。 請隨時進一步澄清。
對於初學者你應該斷開()HttpURLConnection,最好是在finally塊中。使用後你沒有釋放它,這聽起來是c與運行多次的應用程序保持一致,則會耗盡資源。 – fvu
做到了這一點,爲此。 –
你可以添加'logcat'輸出與你的問題的例外嗎? –