大きなデータチャンクを小さなデータチャンクに分割して必要な分だけ読み込みを行うページング処理を簡単に実装できる公式ライブラリにPagingライブラリがあります。
PayPayフリマのAndoridアプリでは、おすすめの商品などの大きなデータチャンクをユーザーに遅延などでストレスを与えないように見せるため、Paging2を使用しています。
2021年5月5日にPaging3がリリースされてから、Paging2がDeprecatedになりました。そのため、Paging3にマイグレーションする必要があり、PayPayフリマでも移行を進めています。
移行の際に気をつけた点と、以下3つの知見についてご紹介します。
・APIの無限呼び出しが発生する致命的なコードとそれに対する対処法
・移行する上で問題になったDatabase周りの独自実装
・StateAdapterにStateを移行するメリットと考慮すべき点