0

2つのクラスがあるとしましょう:

Class Showは私の通常の Android アクティビティです。

Class Workは、多くの作業を行う Java クラスです。

public class Work extends Activity {...}

ご覧のとおり、Workは Activity を拡張します。これは、Activity だけにあるいくつかのメソッドが必要だからです (UI に関するメソッドという意味ではありません)。

私のアクティビティショーでは、クラスワークのオブジェクトを作成します

protected void onCreate(){
      Work mWork = new Work();
      mWork.doSomething();
}

私の質問:ライフサイクルに関して、オブジェクトWorkをどのように処理すればよいですか? それは通常の Java オブジェクトのようなもので、そのライフサイクルを気にする必要はありませんか、それとも通常のアクティビティのようなもので、finish() を呼び出す必要がありますか? 両方あるので迷っています。

4

2 に答える 2

1

コメントでの議論に基づいて、ここでの答えは、現在のアクティビティの Context をターゲット クラスに渡し、そのコンテキスト インスタンスを介してアクセス可能なメソッドを使用して、必要なタスクを実行することです。Activity クラスは基本的に拡張されているためです。アプリケーション コンテキスト。

たとえば、(Activity を拡張しないクラスで) 次を追加できます。

myLocationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);

好きなように使っmyLocationManagerてください。また、この方法でローカルに作成されたオブジェクトは、メイン アクティビティの破棄時にガベージ コレクション用に設定されます。

コメントを探し回るよりも、他の人が参照できる回答を用意する価値があると思いました。

于 2012-11-14T12:58:11.713 に答える
1

アクティビティのライフサイクルを理解するには、これを読む必要があります。

于 2012-11-14T10:09:56.693 に答える