2014-05-03 25 views
0

我有一個活動,說只有onCreate方法(沒有onResume,onStop等)的MainActivity 單擊contBut時,另一個活動,說SecondActivity啓動,並按下exitBut,我們導航回到MainActivity。在這種情況下,MainActivity的onCreate被召回,我不明白爲什麼。我期望它恢復活動,或者至少不要致電創建。 這裏是MainActivity代碼:爲什麼在下一個活動完成時調用上一個活動的onCreate()?

public class MainActivity extends Activity { 

    private Button contBut; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

    contBut = (Button) findViewById(R.id.cont); 
    contBut.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Log.d("d", "in count onclick"); 
      Intent intent = new Intent(MainActivity.this, ContActivity.class); 
      startActivity(intent); 
     } 
    }); 

    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 
} 

這裏是SecondActivity代碼:

public class SecondActivity extends Activity{ 

private Button exitBut; 

protected void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_cont); 

     exitBut = (Button) findViewById(R.id.exit); 
     exitBut.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       finish(); 
      } 
     }); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

} 
+0

onCreate不應該被調用。是否涉及更多的代碼? –

+0

也許你的MainActivity在某些情況下銷燬!內存問題或類似的問題 –

+0

你可以發佈你的應用清單嗎? –

回答

2

問題就迎刃而解了。 在我的設備的開發人員選項部分,檢查了「不要保留活動」。

+0

在沒有設置的情況下測試你的應用是明智的。它模擬系統殺死你的應用程序本身時發生的情況(以及稍後用戶恢復應用程序時會發生什麼)。 –

相關問題