gpt4 book ai didi

android volley 会自动调整大图像的大小(子样本)

转载 作者:行者123 更新时间:2023-11-29 20:51:29 24 4
gpt4 key购买 nike

在我的应用程序中,我必须从我的服务器下载高分辨率图像。我打算使用截击。图像加载适用于小图像。对于一些高分辨率图像,它会抛出内存不足异常。我已经用一些示例图像进行了测试,它会抛出一些图像的内存不足异常。我还在这个链接中看到了关于对大图像进行子采样以有效显示的信息 loading large images efficiently .我不知道它会自动降低高分辨率图像的图像分辨率。

使用 volley 将图像加载到 ImageView 中的代码。

imgloader_disk.get(url, new ImageListener() {

@Override
public void onErrorResponse(VolleyError error) {


}

@Override
public void onResponse(ImageContainer response, boolean arg1) {
if (response.getBitmap() != null) {
mImageView.setImageBitmap(response.getBitmap());

}
}
});

最佳答案

我假设您正在使用 ImageLoader 对象来启动请求以获取您需要的图像。

ImageLoader.get() 有一个重载方法,它接受 maxWidth/maxHeight 参数,您应该始终使用这些参数(除非您确实知道您正在使用的图像获取大小合理):

 public ImageContainer get(String requestUrl, ImageListener imageListener, int maxWidth, int maxHeight, boolean withCache)

您可以使用显示图像的 ImageView 的大小,或者 - 如果您不知道大小 - 您应该使用屏幕的宽度/高度。

一旦您传递了这些变量,Volley 将通过将图像缩小到不超过所需大小来处理其余的事情。

请记住,与 iOS 不同,Android 对您在应用程序中分配的内存有非常严格的限制,这在位图上尤为普遍。您必须尽一切努力只分配您需要的资源,并在不再需要时释放资源。

关于android volley 会自动调整大图像的大小(子样本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29075501/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com