2014-09-23 95 views

回答

0

ImageView沒有任何API允許設置將在稍後下載的URL。您需要與ImageView分開設置一個異步任務,該任務將從url下載此圖像,將其轉換爲Bitmap,然後使用setImageBitmap(Bitmap)將其設置爲ImageView

+0

如何設置異步任務。 – Akshat 2014-09-23 09:43:36

+0

http://stackoverflow.com/questions/18953632/how-to-set-image-from-url-for-imageview檢查這個鏈接 – 2014-09-23 09:45:46

+0

有很多Android的庫可以幫助你像RoboSpice,Retrofit ,Volley等人。如果你想手動下載,那麼http://developer.android.com/reference/android/os/AsyncTask.html是一個可能並不完美但足夠好的解決方案。 – 2014-09-23 09:46:09

0

如上所述,您正在主線程中執行網絡I/O。堆棧跟蹤將其標識爲在onPostExecute中發生。在那裏,我看到這個代碼:

BitmapFactory.decodeStream(newurl.openConnection() .getInputStream() 

這對我來說確實看起來像網絡I/O。

我想知道的是,你已經有了這個可愛的工作線程,但是你在onPostExecute()(主線程)中做了很多工作。爲了防止janky UI,我建議您儘可能多地將這些計算轉移到doInBackgroud()中。