Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android Activity中onStart()和onResume()的區別分析

Android Activity中onStart()和onResume()的區別分析

編輯:關於Android編程

本文分析了Android Activity中onStart()和onResume()的區別。分享給大家供大家參考,具體如下:

首先你要知道Activity的四種狀態

① Active/Runing 一個新 Activity 啟動入棧後,它在屏幕最前端,處於棧的最頂端,此時它處於可見並可和用戶交互的激活狀態。

② Paused 當 Activity 被另一個透明或者 Dialog 樣式的 Activity 覆蓋時的狀態。此時它依然與窗口管理器保持連接,系統繼續維護其內部狀態,所以它仍然可見,但它已經失去了焦點故不可與用戶交互。

③ oped 當 Activity 被另外一個 Activity 覆蓋、失去焦點並不可見時處於 Stoped 狀態。

④ Killed Activity 被系統殺死回收或者沒有被啟動時處於 Killed 狀態。

分析:

protected void onStart() 該方法在 onCreate() 方法之後被調用,或者在 Activity 從 Stop 狀態轉換為 Active 狀態時被調用,一般執行了onStart()後就執行onResume()。

protected void onResume() 在 Activity 從 Pause 狀態轉換到 Active 狀態時被調用。

onResume是activity獲得用戶焦點,在與用戶交互

onStart是activity用戶可見,包括有一個activity在他上面,但沒有將它完全覆蓋,用戶可以看到部分activity但不能與它交互。

補充:Android Activity中的六個主要函數

Android中一個Activity一般都需要實現六個函數:

onCreate(), onStart(), onResume(),onPause(),onStop(),onDestroy().

1. onCreate函數:注冊你要用到的變量,比如說service,receiver,這些變量是無論你的Activity是在前台還是在後台都能夠被響應到的,然後調用上面那個用來初始化的函數初始化布局信息。

2. onStart函數:注冊一些變量。這些變量必須在Android Activity類在前台的時候才能夠被響應。

3. onResume函數:調用一些刷新UI的函數,每當Activity調用到這裡時就要刷新一下UI各控件的狀態。

4. onPause函數:一般是做一些變量的設置,因為這個時候Activity馬上就要切到後台處理,可能有些變量就要被釋放掉或者狀態要做些相應的調整。

5. onStop函數:反注冊在onStart函數中注冊的變量。

6. onDestory函數:反注冊在onCreate函數中注冊的變量。

在Android-Hello中,

public class UbiLrnActivity extends Activity {
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
 }
}

首先,聲明了一個onCreate函數,這個函數的傳入參數是savedInstanceState.型別是Bundle,Bundle是一個數據參數,一般用於Activity之間的數據傳送。onCreate()的參數都是Bundle類的。

super.onCreate表示的是調用父類onCreate。

setContentView(R.layout.main)表示的是通過加載main.xml來加載系統的resource.

更多關於Android Activity相關內容感興趣的讀者可查看本站專題:《Android編程之activity操作技巧總結》

希望本文所述對大家Android程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved