RecycleViewに画像を表示させるとき(というか例外なく) fit()
を指定するべきだと思います。
でないとスクロール時にカクツク!!!
最初に書いていたコード
RecycleViewのAdapterクラスにこんな感じで画像を表示させていました
override fun onBindViewHolder(viewHolder: ViewHolder, i: Int) {
val model = list[i]
if (model.icon != null) {
//ここで画像をダウンロードして表示させていた
Picasso.with(context).load(`画像URL`).into(viewHolder.~~~)
}
}
指定している箇所を抜き出すとこんな感じです。
Picasso.with(context).load(`画像URL`).into(viewHolder.~~~)
この実装だとスクロールした瞬間にかくかくします。
解決方法
ちゃんと fit()
で画像にImageViewにfitさせるようにしましょう。
これを指定していないと内部ではでかい画像をImageViewにはめ込んでいることになっているので
スクロールしたときのパフォーマンスが悪くなります。
Picasso.with(context).load(`画像URL`).fit().centerCrop().into(viewHolder.~~~)