Compose の思想を読んで、理解が難しかったためブログにまとめる
https://developer.android.com/jetpack/compose/mental-model?hl=ja
翻訳の問題か冪等とか普段使わない言葉や、言い回しがわかりづらい
とりあえず要点をまとめてみた
■Jetpack Composeとは
Android向けの最新の宣言型 UI ツールキット
■なぜJetPack Composeを使うのか
従来のやり方ではデータの更新を複数のビューで表示していると、更新を忘れがち。
更新の競合が起きるなど、メンテナンスが複雑化してしまう。
コンポーズをつかうことで宣言型 UI モデルによりインターフェースとデータの結びつきが簡素化されてメンテナンスが容易になる。
また画面の描画は再コンポーズによりコストが低くなるようになっている。
■再コンポーズについて
再コンポーズは状態変化により再描画される仕組み。
しかし全体が再描画するとコストがかかるため関連しない関数、ラムダはスキップされる。
副作用には注意が必要。(バグにつながる)
副作用
-
共有オブジェクトのプロパティへの書き込み
-
ViewModel で監視可能なデータの更新
-
共有設定の更新
■コンポーズについてしっておくこと
-
コンポーズ可能な関数は任意の順序で実行できる。
-
コンポーズ可能な関数は並行して実行できる。
-
再コンポーズは、可能な限り多くのコンポーズ可能な関数とラムダをスキップする。
-
再コンポーズは厳密なものではなく、キャンセルされる場合がある。
-
コンポーズ可能な関数は、アニメーションのフレームごとに何度も実行される場合がある。
The following two tabs change content below.