Retty Tech Blog

実名口コミグルメサービスRettyのエンジニアによるTech Blogです。プロダクト開発にまつわるナレッジをアウトプットして、世の中がHappyになっていくようなコンテンツを発信します。

「Jetpack Composeのパフォーマンスの基本について」という内容で登壇しました。

2022/06/30に、おいしい健康さん、アンドパッドさん、ZOZOさん、RettyでJetpack Composeについての登壇イベントを開催しました。 Rettyからは、「Jetpack Composeのパフォーマンスの基本について」という内容で、RettyのAndroidアプリで気にしているパフォーマンスに関する部分を紹介しました。
andpad.connpass.com

登壇内容の概要

CompositionをSkipする為の、Stable, Immutableと、Layoutフェーズだけを実行するという点から、パフォーマンスの最適化について解説しています。

アーカイブ動画

youtu.be

補足

登壇翌日に、どの程度Stableについて気にするべきかという記事が出ていたため、こちらを読んでからの補足をしていこうと思います。
Jetpack Compose Stability Explained

どの程度気にするか

基本的に気にしないで記述をし、パフォーマンスの問題が起きたら気にすれば良いような記述になっています。
パフォーマンスの問題は、デバイスのスペックにもよりますし、なかなか気がつけない部分です。そのため、登壇内容の通り、簡単にStableにできるならするし、難しいなら無理をしてまでStableにはしない、という方針は変わりません。

ImmutableList

ListはStableではないので、ImmutableListを自作して使ってますが、Compose Runtime1.2から、公式のライブラリである、 kotlinx.collections.immutable のサポートが入りました。
https://github.com/Kotlin/kotlinx.collections.immutable

このライブラリはα版であり、APIが変更されるおそれがある点と、暫くStable版は出ないようなので、このライブラリは使用しない方針です。

おわりに

Rettyのアプリチームでは、特にAndroidとバックエンドエンジニアを積極採用しています。
ご興味があれば、リンクからまずはカジュアル面談の申込みをお願いします。
https://www.wantedly.com/projects/1024095