1. ホーム
  2. android

[解決済み] なぜネストされたウェイトはパフォーマンスに悪いのですか?代替案は?

2022-02-08 20:15:11

質問

私は、いくつかのレイアウトファイルを書き、その中で layout_weight 属性を使用して、異なるビュー間の比率を作成します。

ある時点で、ネストされたウェイトに関するlintの警告を受けるようになりました。

そして、異なるスクリーンサイズに使用することができ、複数のレイアウトファイルを通して多くのdpi値を指定する必要がない、ビュー寸法間の一定の比率を作成するためのより効率的な方法はないでしょうか(つまり、異なるスクリーンサイズ用です)。

ありがとうございました。

解決方法は?

ウェイトが入れ子になっていると、パフォーマンスが悪くなります。

レイアウトウェイトでは、ウィジェットを2回計測する必要があります。そのため 重みが0でないLinearLayoutは、他のLinearLayoutの中にネストされています。 重みが0でないLinearLayoutの場合、測定回数が増える は指数関数的に増加します。

を使うのがよいでしょう。 RelativeLayout を使用し、特定のdpi値を使用せずに、他のビューの場所に応じてビューを調整します。