-1

ほとんどのアクティビティで使用されるメソッドがある場合、メソッドを各Activityクラスに配置するか、メソッドを保持する1つの静的クラスを作成する方がよいでしょうか。理由を説明してください、ありがとう。

4

1 に答える 1

1

メソッドが純粋にステートレスである場合、またはアクティビティが提供できるもの(たとえば、Context)への参照が必要な場合は、クラスを静的メソッドでいっぱいにするのがおそらく最も簡単です。

メソッドが実行中にメソッドにカプセル化できない状態を維持する必要がある場合は、状態を維持する目的で静的変数を使用することは一般的に悪いと考えられているため、通常のクラスを作成するのがおそらく最善です。これにより、マルチスレッドアプリケーションで問題が発生する可能性があります。

クラスルートに行く場合、これらのメソッドを利用する必要のあるアクティビティなどは、定義したタイプのオブジェクトを作成し、そのpublicメソッドを利用できます。

他にもさまざまなオプションがあります。比較的一般的なのは、クラスの独自のインスタンスを作成しなくても、すべてのアクティビティがアクセスできるシングルトンを作成することです。シングルトンは、管理クラスによく使用されます。これは、一度に1つのインスタンスのみが必要であり、そのインスタンスが、問題が発生したときにイベントコールバックを提供するように調整されている場合です。

選択は本当にあなた次第です。何を達成したいのかがわからなければ、「最良の」オプションを推奨することは困難です。

于 2013-01-06T21:28:36.213 に答える