我使用以下代码从互联网上下载图像并在Android ImageView
中显示。
private class DownloadImage extends AsyncTask<String, Void, Bitmap> {
@Override
protected Bitmap doInBackground(String... arg) {
Bitmap bmp = null;
try {
URL url = new URL(arg[0]);
bmp = BitmapFactory.decodeStream(url.openConnection()
.getInputStream());
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return bmp;
}
@Override
protected void onPostExecute(Bitmap result) {
adImg.setImageBitmap(result);
super.onPostExecute(result);
}
}
但是,该代码会导致D/skia(1252): --- SkImageDecoder::Factory returned null
错误。
可能有什么问题?
发生这种情况是我的原因.我发现的主要问题是:
-
URL - 可能需要额外的权限才能访问图像。
-
URL- 它需要HTTP get方法来访问图像
-
图像很大