2015-08-22 75 views
1

我已經創建了兩個活動的簡單應用程序,在兩個活動中有一個按鈕,鏈接到另一個活動。這是在Android的內存泄漏

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.two); 
    Button btn = (Button) findViewById(R.id.button); 
    btn.setOnClickListener(this); 
} 

@Override 
public void onClick(View view) { 
    if (intent != null) intent = null; 
    intent = new Intent(Two.this,MainActivity.class); 
    startActivity(intent); 
} 

在這兩個活動都有相同的代碼。當我按下按鈕並按DDMS中的原因GC時,分配總是增長25kb是否正常?

回答

1

我不會稱之爲內存泄漏但概念不好。你正在做的是將活動放在堆棧上,當然這會佔用越來越多的內存。如果您想了解更多關於任務和回堆棧

Intent intent = new Intent(Two.this, MainActivity.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
startActivity(intent); 

,請訪問this guide:如果你想只要打開以前活動(因此不創建一個新的每次調用startActivity(...)時間),使用此。