Android アプリの UI を作成する方法、XML で UI を作成する方法、または Java コードで UI を作成する方法のどれが良いか、またアプリのパフォーマンスがこれらの手法のいずれかによって影響を受けるかどうかを教えてください。
2 に答える
理論的には、ネイティブ コードの方が高速です。XML は AttributeSet を使用してプロパティを設定しますが、レイアウトをネイティブに作成する場合、ビューをセットアップするために多数のメソッド呼び出しを行う必要があるため、実際の速度がどれほど速いかはわかりません。
個人的には、パフォーマンス上の利点 (あるとしても) が、XML レイアウトを使用することによる読みやすさを上回るとは思いません。たとえば、onClick
XML では属性を使用して呼び出すメソッドを定義できますが、コードではOnClickListener
、多くの場合、匿名の内部クラスとしてオブジェクトを定義する必要があります。XML onClick を使用すると、コード内の検索がはるかに簡単になります。
テストしたことはありませんが、Java コードで同じ UI を作成する方が、XML で作成するよりも少し速いと思います。しかし、そのようなことを行うことによるパフォーマンス上の利点はおそらく無視できるものであり、XML レイアウトを使用すると、UI がより速く、コードがよりクリーンになり、保守が容易になり、柔軟性が向上します。
おわかりのように、XML を使用することの利点は、欠点よりもはるかに大きいです。したがって、ベスト プラクティスは XML を使用することだと思います。