0

XML属性に出くわしたばかりですがandroid:onClick="myCrazyMethod"、かなりきれいでシンプルなようです。

このアプローチの間にパフォーマンスに違いがあるかどうか疑問に思っていました-単純なメソッドを宣言してOnClickListenerクラスを作成しますか?

4

3 に答える 3

1

顕著な違いはありません。選択は単に開発者の好みです。

于 2012-12-21T23:16:29.370 に答える
1

大きな違いはありませんので、どちらかのクリーナーを使用してください。android:onClick実行時のイントロスペクションを使用して実装されているため、技術的には遅くなりますが、この時点で髪を分割しています =)

于 2012-12-21T23:22:17.917 に答える
1

XML で宣言するのは少し遅くなりますが、それほどではありません。ただし、xml 内で onClick を定義すると、proguard で問題が発生する可能性があります (以下のコードを実装しない限り)。個人的には、onclicklistener 内でスイッチとケースを使用するのが最も簡単だと思いますが、メソッドが非常に長い場合は、独自のメソッドを指定して「非表示」にするのが良いでしょう。ただし、ボタンが押された後に共通のコードを実行する必要がある場合 (UI の更新など) は、スイッチとケースまたは if/else に任せた方がよい場合があります。ただし、もちろんこれはすべて、この問題に関する私の意見です。

// xml と proguard 内で OnClick を使用したい人のために追加するだけです

これを追加:

-keepclassmembers class * extends android.app.Activity { 
 public void *(android.view.View); 
} 
于 2012-12-21T23:23:57.283 に答える