您可以使用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()'',否則圖像將被調整爲你指定的大小。 –