web-dev-qa-db-ja.com

バターナイフvsAndroidAnnotations

アプリケーションで Dagger を使用することを考えています。また、コードの記述時間を節約するために多くの機能を提供するビューインジェクションライブラリを使用したいと思いますが、一方で、パフォーマンスに関しては、サイズが大きくて高価であってはなりません。

AndroidAnnotationsButterknife の間に大きな違いはありますか?

22

ビューを挿入する(またはクリックリスナーを設定する)ことでアプリケーションの定型コードを減らしたいだけの場合は、Butterknifeから始めることができます。高速でサイズが小さく、簡単に使用できます。これは、ビュー、リスナー、およびその他のUI関連オブジェクトを挿入することを目的としています。

システムサービスなどをさらに挿入したり、メソッドをバックグラウンドやUIスレッドで強制的に実行したり、アニメーションなどのリソースを挿入したりする場合は、AndroidAnnotationsの後に移動する必要があります。直面する小さな欠点は、拡張するクラスごとに、同じ名前に最後に「_」を付けた新しいクラスが生成されることです。したがって、アクティビティを呼び出したりフラグメントを作成したりするときに、このような名前を使用することに慣れる必要があります。これが問題にならない場合は、それを使用してください。どちらのライブラリもコードを生成するため、実行時にパフォーマンスが低下することはありません。

Daggerはビューの挿入を目的としていません。 Daggerを使用すると、コードをより適切に構造化し、異なるコンポーネント間の注入可能な依存関係を定義できます。マスターすれば非常に強力ですが、Butterknifeに置き換わるものではありません。

37