2011-07-16 9 views
0

私はいくつかの変数を使用しているアプリケーションを持っていて、それらを使用した後、またはアプリケーションを閉じた後に、それらが使用するメモリ空間を解放または解放したいと考えています。これを行うプロセスはありますか?変数またはオブジェクトの値を解放またはクリアする方法は?

私が使用している:

int x = Integer.parseInt(edt.getText().toString()) * Integer.parseInt(edt1.getText().toString()); 
String z = String.valueOf(x); 

EDT - 私は値を入力するために使用されているのEditTextを意味します。

EditTextに値を入力した後、次のアクティビティページに切り替えて前のページに戻っても、EditTextの値は引き続き使用できます。しかし、私は変数の値をクリアしたい。

どうすればこの問題を解決できますか?

答えて

0

新しいアクティビティが開始されると、Activity lifecycle graphに示すように、古いアクティビティが一時停止され、すべての値が保持されます。

システムの残りの部分ですぐにメモリが必要ない場合は、破壊されません。

edtは、findViewByIdで撮影されたレイアウトであり、手作業で作成されたものではないことが前提です(コードからはわかりません)。したがって、EditTextの値をクリアしたい場合は、古いアクティビティに戻すときは、またはonResumeのいずれかで手作業で行う必要があります。

アプリケーションを閉じると、これらはJava VMによって解放されます。直近の活動を終了した直後にアプリが殺されることはないことに注意してください。

0

私はここにほぼ同様の質問に答えた:Android proper clean up/disposing

基本的にあなたがそれを実行したときに、ガベージコレクタがそれをクリアすることができるようにnullにオブジェクトを設定されている何をする必要がありますか。

関連する問題