T207 WeakReference
Main.java
package com.efolab.t207; import java.lang.ref.WeakReference; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.util.Log; import android.widget.LinearLayout; public class Main extends Activity { Context context; LinearLayout base; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // TODO Auto-generated method stub context = getApplicationContext(); base = new LinearLayout(context); setContentView(base); String TAG = "MAIN"; // Integer オブジェクトの弱参照を保持する Integer integer = new Integer(123456); WeakReference<Integer> ref = new WeakReference<Integer>(integer); // WeakReference の中身を取得・表示 Integer i = ref.get(); Log.d(TAG, "i=" + i); // 強参照を全て無くす integer = null; i = null; System.gc(); Log.d(TAG, "GC"); // GC 実行後に中身を取得・表示 i = ref.get(); Log.d(TAG, "i=" + i); } }