2011-12-29 11 views
2

複雑なレイアウト階層を持つためにパフォーマンスにどのような影響がありますか?Androidレイアウト階層の効率

それが深くネストされたレイアウトを持っているアプリケーションには影響を与えないどのように(それぞれが含まれている多くのLinearLayoutsが含まれています例えばRealitiveLayout ....)

答えて

1

を参照してください。効果がありますが、ルールはより簡単です。

すべてのビュー - か悪いか、すべてのレイアウトマネージャ - あなたの アプリケーションに追加することはコストがかかります:初期設定、レイアウトと描画が遅く なります。 のweightパラメータを使用する複数のLinearLayoutをネストすると、 の子を2回測定する必要があるため、レイアウトパスが特に高価になります。

http://android-developers.blogspot.com/2009/02/android-layout-tricks-1.html

1

はいそれがないと、3つの以上のレベルはおそらく推奨されていません。これが、新しいGridLayoutが作成された理由の1つです。また、SDKのlintおよびhierarchyviewerツールは、レイアウトを最適化するのに役立ちます。

しかし、あなたのニーズに応じて、より深く入れ子にする必要があります。あなたのパフォーマンスのボトルネックがレンダリングであるかどうかを確認するために、SDKツールといくつかのデバイスをテストで手に入れてください。ほとんどの場合、あなたのコードのどこかにあります。

ビューに関する主なパフォーマンススローグの1つは、レンダリングではなくxmlファイルからの膨張です。