0

重複の可能性:
ベストプラクティス:Androidのレイアウト(プログラマティックとXML)

Androidで複雑なビューを作成する方法のどちらが速いですか

1)レイアウトに標準ビューを追加してxmlでレイアウトを定義します。

2)カスタムビューのonDrawで必要なものを描画します

4

2 に答える 2

3

パフォーマンスについて話している場合、それはonDraw()の効率によって異なります。

XMLでビューを定義するときは、レイアウトインフレーターに、ビュータイプクラスのインスタンスを作成し、その初期プロパティを定義したXML属性に設定するように指示するだけです。次に、ビューが描画されたら、何を推測しますか?ビューを描画するためにonDraw()が呼び出されます。

したがって、ビューを拡張してonDraw()をオーバーライドし、スーパークラスが使用するのとまったく同じメソッドを使用してビューを描画した場合、パフォーマンスに違いはありません。

したがって、答えは(実際にパフォーマンスについて質問している場合)「状況によって異なります」です。

同様に、onDraw()で非効率になる可能性があるのと同様に、レイアウト設計でも非効率になる可能性があります。ネストされたLinearLayouts、RelativeLayoutsなどの冗長なビューグループは、パフォーマンスに非常に大きな悪影響を与える可能性があります。レイアウト階層ビューアは、知るための優れたツールです。

于 2012-12-01T20:39:40.700 に答える
2

Ollie Cからの良い答えhttps://stackoverflow.com/a/9827887/603233

XMLの利点は次のとおりです。

 1. Ability to use layout editors (Eclipse)
 2. Easier to preview layouts
 3. Possible to benefit from auto-localisation of layouts
 4. Easily maintain different parallel layouts for difference devices (screens)
 5. Can get a sense of the layout by looking at it (easier than code)
 6. Easy to break layouts down into pieces (fragments, includes, etc) to remove duplication
 7. Keeps a separation between the visual design, and the functionality behind it
于 2012-12-01T18:35:29.280 に答える