【发布时间】:2021-11-19 12:18:26
【问题描述】:
public Bitmap getBitmapFromURL(String imageUrl) {
try {
URL url = new URL(imageUrl);
HttpURLConnection connection = (HttpURLConnection)
url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream inputStream = connection.getInputStream();
Bitmap imageBitmap = BitmapFactory.decodeStream(inputStream);
return imageBitmap;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
我使用此函数从 url 获取图像作为位图。对于大图像位图返回 null。我该如何解决这个问题?
【问题讨论】:
-
大图是什么意思?一张大图大约 4-5MB。
-
@KhabyLame 图像大小 4961 × 3508 和大约 1.5MB。
-
1.5MB 不算多
-
Bitmap.decodeStream() 如果位图对于所用设备中的可用内存而言变得太大,则确实返回 null。不是文件大小重要,而是分辨率。您必须先说明您想对文件做什么,然后我们才能建议您如何解决您的问题。
-
BitmapFactory 最多可以处理 100MB。我用我的佳能相机照片试过了。它大约 150MB,BitmapFactory 可以将其转换为位图。这取决于用户的连接