2012-03-12 13 views
0

私は現在Androidアプリケーションを書いており、私はJavaとAndroidを初めて使用しています。アクティビティが終了した後、アクティビティとそのパブリック変数はどうなりますか?

私は、いくつかのパブリック変数を持つアクティビティを開始するstartActivity()を呼び出しています。私は、アクティビティが終了した後の "onCreate"メソッドの間にパブリック変数が割り当てられる値と、アクティビティのインスタンスに何が起こるかについて何が起こるのだろうかと思います。

新しいアクティビティを呼び出すことによってアクティビティが終了します。

このアクティビティを終了するとメモリリークが発生し、startActivityForResult()を呼び出してonActivityResult()関数で新しいアクティビティを呼び出す必要があることが心配です。

Intent i = new Intent(this, Example.class); 
startActivity(i); 

アドバイス:

//更新 私の活動は、このように呼ばれているのですか?

乾杯

答えて

0

は直接を活動の変数にアクセスしないでください。アクティビティ間で変数を渡すには、インテントを使用します。

活動を開始:

Intent intent = new Intent(CurrentActivity.this, NewActivity.class); 
intent.putExtra("Extra1", "some string or something else"); 
// set more data 
startActivity(intent); 

活動からの復帰時:

Intent intent = new Intent(); 
intent.putExtra("Extra1", "some string or something else"); 
//set data in intent as previous 
setResults(RESULT_OK, intent) 
finish(); 
+0

を私はこのような活動始めています: 意図I =新しいテント(これ、Example.classを)。 startActivity(i); – nkhumphreys

+0

私の編集を参照してください – MByD

+0

私の質問は幾分欠陥のあるデザインを指していると思います。私は自分のアプリの周りに新しいアクティビティを開始することによって私のアプリの周りを移動するかどうかを尋ねると思います。私のアプリを通って円を描くパスを作成する、つまりActivity1はActivity2を呼び出し、Activity3はActivity1をインテントで呼びます。私が呼ぶクラスのすべてのインスタンスに? – nkhumphreys