2012-02-23 37 views
0

我是新來的android開發,我得到了android有一個活動的生活。Android Java:瞭解活動生活?

如果我有一個應用程序,我按下一個按鈕,使用手機的攝像頭funcationality是這樣的...

public void onClick(View v) { 
       // TODO Auto-generated method stub 
       Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_VIDEO_CAPTURE); 
       startActivityForResult(cameraIntent, CAMERA_VIDEO_REQUEST); 
      } 

如何onPause()onDestroy()和其他的東西的工作?

我有這樣的onCreate()

protected void onPause(){ 
    super.onPause(); 

} 

外部。如果我想按後退按鈕或按home鍵,我必須銷燬或暫停攝像功能?如果是這樣,我仍然試圖找出如何做到這一點?

謝謝!

+0

雖然您不熟悉Android,但爲各種生命週期方法添加簡單的Logging語句甚至會很有用,只需快速獲取有關與應用程序交互的幕後情況的信息...... onPause將始終在onStop之前被調用。 – mastDrinkNimbuPani 2012-02-23 04:24:54

回答

1

當你開始從你當前活動的新活動,則有兩種可能性,你當前活動

  • 暫停
  • 停止

的暫停: 另一項活動是在前臺並有重點,但這個仍然可見。也就是說,另一個活動在這個活動之上是可見的,並且該活動部分透明或不覆蓋整個屏幕。一個暫停的活性完全存活(活動對象被保留在存儲器中,其保持所有狀態和成員信息,並且保持附着到窗口管理器),但是可以由系統在非常低的存儲器的情況下被殺死。

已停止: 該活動完全被另一活動遮蔽(活動現在處於「背景」狀態)。一個停止的活動也是活着的(活動對象保留在內存中,它維護所有狀態和成員信息,但未附加到窗口管理器)。但是,用戶不再可以看到它,並且在其他地方需要內存時可以被系統殺死。

例如你開始從你的活動相機活動,則當前的活動將停止,因爲相機活動將覆蓋所有你的屏幕,你的活動是不是相機的活動可見。

Here是完整的描述。

您正在使用的意圖,所以你不必處理呼叫背面的攝像頭活動的方法啓動攝像頭活動。系統將管理你沒有管理it.You回調方法只需要管理活動的結果,你會從相機的活動你的活動獲得。

編輯

而且還OB當然你從來沒有直接調用Activity.System的任何生命週期方法自動調用此方法根據活動state.You只需要編寫這個方法你的實現做你的工作。

+0

這是一個很好的答案。我只補充說,你永遠不必直接調用任何生命週期方法。 – 2012-02-23 04:01:59

+0

@NickCampion是的,我已經更新了我的答案。 – Dharmendra 2012-02-23 04:05:36

+0

甜蜜的感謝!它解釋了很多! – hellomello 2012-02-23 06:05:42