2

Activity を常に引数としてメソッドに渡すのはコストがかかりますか?

ご覧のとおり、私はこのクラスを持っています (これは、アクティビティで一般的に使用されるメソッドを配置する場所です)。そして、そこにあるすべてのメソッドにはパラメーターとしてアクティビティがあります。これらのメソッドの結果は、メソッドを呼び出したアクティビティに送り返す必要があるためです。基本的に、結果を誰に返す必要があるかを知る必要があるため、常にお気に入り:

public static void processThis(Activity activity){ 
// some Code
}

これがベストプラクティスに反するのか、それとも使用するのに費用がかかるのか知りたいのですが?

ありがとう。私を啓発するあなたの説明を楽しみにしています。

追加:コードの再利用を促進するために、アクティビティから一般的に使用されるメソッドを抽出しています。同様に、ActivityA は methodA を使用し、ActivityA にブロードキャストを送信します。同じ方法は、methodB (methodA と同じ) を使用し、ActivityB にブロードキャストを送信する ActivityB にも当てはまります。したがって、私が達成したいのは、基本的に同じである methodA と methodB を抽出し、それらを別のクラスに入れ、パラメーター Activity を追加して、誰にブロードキャストを送信する必要があるかを知ることです。ありがとう。

4

1 に答える 1

6

Java では、プリミティブでないすべてのパラメーターは暗黙のポインターです。その結果、アクティビティなどのオブジェクトを渡すには、メモリ内でアクティビティが配置されているアドレスを渡すだけで済みます。そのため、そのようなものを渡すことは、Java では高価なことではありません。

したがって、自問すべき本当の質問は、コストがかかるかどうかではなく、(論理的/保守性の観点から) 最も理にかなっている場合です。それが理にかなっているなら、ぜひそうしてください。

于 2012-11-11T10:19:27.483 に答える