Why not login to Qiita and try out its useful features?

We'll deliver articles that match you.

You can read useful information later.

0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

🤔Think

古いFlutterの本ですが、参考になる書籍を読んでいて、最近はアプリのパフォーマンスについても勉強してます。

amazonのリンク

rebuild 再構築について調べて考えてみた。

公式の長い解説は翻訳しながら見てみてください。

再構築を抑える方法について

公式に長い文章の中にも書いてありましたが、昔のFlutter本に書いてあった内容だと

  • setState()メソッドを呼ぶと以下の現象が起きる
    • Widget Treeの再構築
    • Element Tree参照変更
    • RenderObjectの差分検証

少ないWidgetTreeの場合は、大した問題にならないとのことですが、巨大なWidget Treeになると無視できないそうです。この再構築を抑えることができると、パフォーマンスが改善されそうだと本に書いてありました。

つまり、StatefulWidgetを使いすぎたらダメってことでしょうね。setState()メソッドが呼ばれるたびに、無駄に再描画されてアプリのパフォーマンスが下がってします。

私の感覚だと、作っていたアプリの画面が固まってしまったことがありました。setStateの使いすぎで、画面が何度もrebuild 再構築されたことが原因だったのだろうと思いました。

パフォーマンスを落とさないようにするには、不要なrebuildを防ぐために、キャッシュするなどが効果的だそうです。constつけるとか、StreamBuilderを使うとか。

最後に

昔購入した古い本でしたが日本語の情報で体系的に書かれているものはあまりないのでありがたいと思いました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Qiita Conference 2025 will be held!: 4/23(wed) - 4/25(Fri)

Qiita Conference is the largest tech conference in Qiita!

Keynote Speaker

ymrl、Masanobu Naruse, Takeshi Kano, Junichi Ito, uhyo, Hiroshi Tokumaru, MinoDriven, Minorun, Hiroyuki Sakuraba, tenntenn, drken, konifar

View event details
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?