0

getView()クリック リスナーを定義しているときにアダプターの内部を埋めていたので、次のことが気になりました。

パフォーマンスに関して、これら2つの実装に違いはありますか:

onClickListener を個別に定義する:

View.OnClickListener mClickListener = new View.OnClickListener() {
    @Override
    public void onClick(View view) { //... }
};
mView.setOnClickListener(mClickListener);

引数として onClickListener を定義します。

mView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) { //... }
});

よく言われるようgetView()に、実装のわずかな違いでもアプリのパフォーマンスに大きな影響を与えると思います。確信はないけど。

では、パフォーマンス/メモリに関して推奨されるのはどれですか? それとも、それほど違いはありませんか?

4

1 に答える 1

1

実際には、匿名クラスとしていくつの OnClickListeners を持っているかによって異なります。ワンクリックリスナーを実装し、クリックイベントを取得したいすべてのビューに設定し、OnClick(View v) のビュー ID でクリックを並べ替える方がよいでしょう。

public void onClick(View v) {
   switch (v.getId()) {
     case R.id.some_view_id:
        doSomething();
        break;
   }

}
于 2014-10-07T12:08:24.927 に答える