您可以使用onlyScaleDown()
来调整
Picasso
.with(context)
.load(imageUrl)
.resize(6000, 2000)
.onlyScaleDown() // the image will only be resized if it's bigger than 6000x2000 pixels.
.into(imageViewResizeScaleDown);
或者你可以使用fit()
Picasso
.with(context)
.load(imageUrl)
.fit()
// call .centerInside() or .centerCrop() to avoid a stretched image
.into(imageViewFit);
fit()is measu响铃目标ImageView的尺寸并在内部使用resize()将图像尺寸缩小为ImageView的尺寸。关于fit()有两件事要知道。首先,调用fit()可以延迟图像请求,因为毕加索需要等待ImageView的大小才能被测量。其次,您只能使用fit()和ImageView作为目标(我们稍后会看到其他目标)。
优点是图像处于尽可能低的分辨率,而不会影响其质量。分辨率越低意味着缓存中的数据量越少。这可以显着减少图像在应用程序内存占用空间中的影响。总之,如果您希望在较短的加载时间内获得较低的内存影响,fit()是一个很好的工具。
你应该添加''.centerInside()'',否则图像将被调整为你指定的大小。 –