我从网络服务获取图片,我会在图片视图中显示它。
Picasso.with(getApplicationContext()).load(imageURL).fit().centerCrop().into(ivNews);
2天前,在服务器上上传了一张2048X1600
分辨率图片,所有突然的应用都因此异常而崩溃Canvas: trying to draw too large(144609280bytes) bitmap
上传到服务器上的图像可能高于上述分辨率,服务器也可以在以后上传更多高分辨率图像。
我读过this文章,其中提到glide
在性能方面比毕加索更快更优秀,
它还提到,如果您使用.fit().centerCrop()
,那么性能会更好,但我已经在使用这些,并收到了这些错误消息
我想通过使用毕加索来解决这个问题
答案 0 :(得分:4)
如果图片尺寸较大,您可以使用scaleDown()
缩放图片。您可以像下面一样使用它。
Picasso
.with(context)
.load(<image_url>)
.resize(2048, 1600)
.onlyScaleDown() // the image will only be resized if it's bigger than 2048x 1600 pixels.
.into(<image_view>);