Upgrade to Pro — share decks privately, control downloads, hide ads and more …

タップルでComposeの段階的な導入を進めている話

 タップルでComposeの段階的な導入を進めている話

Yamashita Shun

August 19, 2022
Tweet

Other Decks in Programming

Transcript

  1. レンダリング時間 / スクロールパフォーマンス低下の原因 ・AndroidViewの中にComposeを埋め込む際にComposeラッパーや  recomposerの 。 (ensureCompositionCreated( )など) 初期化関数がたくさん実行される ※

    基本的にAndroidViewの中にComposeを埋め込む場合、  レンダリングパフォーマンスはxmlよりも低下する ・Groupieが毎回Composeを初期化するのでうまくviewをリサイクルできていない
  2. AndroidViewのみの場合 AFTER (スプラッシュでプリロード) BEFORE (Compose + xml) Composeを利用した場合 結果 ・画面の起動時間は

     xmlと比較して-80ms ・リプレイス前と  ほぼ同等の起動時間 ・スクロールも  ほぼ同等のCPU使用率
  3. 解決策 ・ を使うことでアニメーション中に発生していた  データ更新によるrecompositionの回数を減らすことで解決 @Stable 補足 : タップルではComposeの 、    

       ただしアニメーション周りではrecompositionの問題が発生しやすい 開発中にrecompositionは意識せず 問題が発生したらデバッグして対応するという方針