初めに
今回は、JetpackComposeで実装する上で割と重要な@Immutableと@Stableアノテーションについて書いていこうと思います
本文
自分がどういうふうに使い分けてるかというと下記のようになります
利用するクラスが、絶対不変である場合は@Immutableアノテーションを付与。
内部にState等を保持していて絶対不変とは言えない場合は@Stableアノテーションを付与。
こうすることで、@Immutableアノテーションの場合はcompose compilerが変更はないということを理解してrecomposeがスキップされるようになります。
逆に、@Stableアノテーションをつけていると値の更新をcomposeに通知しながら、recomposeを減らしてUIの更新を行うことができます。
最後に
最近Jetpack Composeで実装している際にアノテーションのレビューをいただき自分が調べたものを備忘録的に残しておこうと思い書きました。
どなたかのお役に立てれば幸いです