Android。无法从流中解码位图

Android. Can't decode Bitmap from stream

我有 URL PNG 图片文件。
我想获取此图像文件并将其设置为 ImageView 的源。
我的代码:

URL iconURL = null;
try {
    iconURL = new URL("https://maps.gstatic.com/mapfiles/place_api/icons/worship_general-71.png");
} catch (MalformedURLException e) {
    e.printStackTrace();
}

Bitmap icon = null;
try {
    icon = BitmapFactory.decodeStream(iconURL.openConnection().getInputStream());
} catch (IOException e) {
    e.printStackTrace();
}

myImageView.setImageBitmap(icon);

如果我在带有 decodeStream() 的行中放置一个断点,应用程序停止并且我看到以下内容:

如果我 运行 应用程序处于常规模式,它就会停止!
有人可以解释这里出了什么问题以及如何正确执行吗?

谢谢。

如果您只想在 ImageView 上显示图像,那么您可以使用 Picasso Library。

在build.gradle 文件

中放入下面的依赖项
'com.squareup.picasso:picasso:2.71828'

并使用下面的 java 代码将图像从 URL 加载到 ImageView

Picasso.get() .load(url) .into(imageView);