サンプルアプリを作成して、描画処理(再Compose)の周期を観測してみました。
その結果を紹介します。
※環境:Android Studio Giraffe | 2022.3.1 Patch 1
Kotlin 1.8.10
Compose Compiler 1.4.3
続きを読む
サンプルアプリを作成して、描画処理(再Compose)の周期を観測してみました。
その結果を紹介します。
※環境:Android Studio Giraffe | 2022.3.1 Patch 1
Kotlin 1.8.10
Compose Compiler 1.4.3
続きを読む
Jetpack Composeは描画処理の軽量化(消費リソース量の削減)をするために、表示の変更されたUI要素のみを再Composeし、表示の変わらないUI要素をスキップします。これにより、高い表示パフォーマンスを維持しています。
しかし、スキップが正常に行われないとしても、アプリの画面に現れて来ません。なぜなら、同じ表示を無駄に繰り返すことになるからです。
アプリは動くけれど動作が鈍いならば、真っ先に疑うポイントです。不要な再Composeが行われている可能性が考えられます。
これは気付かないうちに蓄積し易い不具合です。ですので、再Composeとスキップについて理解し、予防に努めることをお勧めします。
今回は「再Composeとスキップ」について、まとめます。
※環境:Android Studio Giraffe | 2022.3.1 Patch 1
Kotlin 1.8.10
Compose Compiler 1.4.3
続きを読む
Jetpack ComposeはAndroidシステムの新たなUIフレームワークです。従来のViewシステムと、アプリ画面の描画の仕組みが異なります。
このJetpack Composeによるアプリ画面の描画について、仕組みの大枠をまとめます。
※環境:Android Studio Giraffe | 2022.3.1 Patch 1
Kotlin 1.8.10
Compose Compiler 1.4.3
続きを読む
Kotlinにおいて、各クラスのインスタンスに自動生成されるequals()関数は、classとdata classで比較対象に違いがあります。
紛らさしいので、まとめます。
※環境:Android Studio Giraffe | 2022.3.1 Patch 1
Kotlin 1.8.10
続きを読む
表示の変わらないUI要素(Composable関数)に対して行われる再Composeは無駄な処理です。
ですので、極力排除したいところですが、表示が変わらないため、画面上からの判断が難しくなっています。
このようなとき、Layout Inspectorを利用すると、無駄な再Composeを見つけ出すことが出来ます。
※環境:Android Studio Giraffe | 2022.3.1 Patch 1