シンプルな Hello World アプリケーションがあります
public class TestLeaksOnFinish extends Activity
{
static int ctr = 0;
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
TextView t = new TextView(this);
t.setText("Hello World! "+ctr++);
setContentView(t);
}
}
これを複数回実行すると、毎回 BACK を押すたびに ctr が増加し、BACK の後でアクティビティが完全に強制終了されていないことがわかります。
これは、BACK を押した後に DDMS に HPROF ファイルをダンプすることによっても確認されます。
このファイルには、私の TestLeaksOnFinish アクティビティ クラスがまだ含まれています。
戻るを押した後、このアクティビティがヒープダンプにまだ存在する理由を誰かが説明できますか?
着信参照をリストすると、次のようになります