こんにちは、iOSエンジニアのtakao(takaoh717)です 今回はクラシルiOSアプリのフィードのパフォーマンス改善を行った話をご紹介します。 改善を行ったフィードはUICollectionViewで構成されており、レシピ、画像バナー、広告など複数の異なる型のデータを表示しているような画面です。 今回行った変更は以下の内容です。 差分更新ライブラリの導入とデータの管理、更新ロジックの変更 セルのサイズ計算を事前に行うよう修正 通信時やログ送信時の重い処理をバックグラウンドスレッドで実行 改善前の課題 改善を行う前は、アプリを動かしていると実際に分かるレベルでパフォーマンスに問題がありました。 スクロール自体の挙動が若干重くてスムーズじゃない(指の動きに対して若干ひっかかりがある) ページングの読み込みをしたときにスクロールが止まることがある 更新時に画面がチラつくことがある 差分更
![iOS版クラシルのフィードを滑らかな動きにするためにやったこと - dely Tech Blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/0ada91698be93202177df08587f6aea6f862d5bc/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Ft%2Ftakaoh717%2F20191007%2F20191007184951.png)