onResume什麼時候執行,執行幾次的問題

2021-08-02 15:31:39 字數 2118 閱讀 8131

乙個activity活動就是乙個介面的布局。

程式正常啟動時:oncreate()->onstart()->onresume();

oncreate()在活動第一次建立時被呼叫,主要用於載入布局

onstart()這個方法在活動由不可見變為可見的時候呼叫。

onresume這個方法在活動準備好和使用者進行互動的時候呼叫。此時的活動一定位於返回棧的棧頂,並且處於執行狀態.

三種呼叫的場景:

乙個activity啟動另乙個activity: onpause()->onstop(),再返回:onrestart()->onstart()->onresume()

程式按back 退出: onpause()->onstop()->ondestory(),再進入:oncreate()->onstart()->onresume();

程式按home 退出: onpause()->onstop(),再進入:onrestart()->onstart()->onresume();

生命週期的一些細節:

1     activity 第一次建立時會呼叫 oncreate(bundle)。 該方法用於建立 activity 的使用者界

面,建立所需的後台執行緒,並執行其他的全域性初始化。如果能獲得activity以前的

狀態,就可以將包含此狀態的 android.os.bundle 物件傳給oncreate();否則就傳入

乙個空引用。在呼叫 oncreate(bundle)之後,

android 總會呼叫 onstart()。

2      在使用者看到 activity 之前會呼叫 onstart()方法。當 activity 進入前台時, android

在呼叫 onstart()之後就會呼叫 onresume();當 activity 變成隱藏狀態時, android

就會在呼叫 onstart()之後呼叫 onstop()。

3      當 activity 停止後,在其重新啟動之前會呼叫 onrestart()。在呼叫 onrestart()之後,

android 會呼叫 onstart()。

4      在 activity 開始跟使用者互動之前會呼叫 onresume()。此時, activity 獲得了焦點,

使用者的輸入會傳送給該 activity。當 activity 必須暫停時,android 就會在呼叫

onresume()之後呼叫 onpause()。

5      當 android 要恢復另乙個 activity 時會呼叫 onpause()。該方法一般用於保留未儲存

的修改,停止可能會消耗處理器資源的動畫等。它應該很快地完成工作,因為只

有等該方法返回時,下乙個 activity 才能被重新啟用。在呼叫了 onpause()之後,

當 activity 開始跟使用者互動時, android 就會使用onresume(),當 activity 變成隱

藏狀態時呼叫 onstop()。 許多 activity 執行 onpause()方法來提交資料的改變或者準

備停止與使用者的互動操作。

6      當 activity 變為隱藏狀態時會呼叫 onstop()。這種情況可能發生在 activity 被銷毀,

或者另乙個 activity(正在執行的或新啟動的)被重新啟用並將覆蓋前乙個 activity

時。在呼叫 onstop()之後,如果 activity 重新跟使用者互動, android 會呼叫 onrestart()

方法;

7     如果 activity 退出了,就會呼叫 ondestroy()方法。

8      在 activity 被銷毀之前會呼叫 ondestroy(),除非是記憶體不夠, android 強行終止了

activity 的程序。在這種情況下就不會呼叫 ondestroy()。如果呼叫了 ondestroy(),

那它就是該 activity 接收的最終呼叫。在 onpause()、 onstop()或 ondestroy()返回之

後, android 可以終止託管 activity 的程序。從 onpause()返回後到呼叫 onresume()

之前, activity 都處於可終止狀態。在 onpause()再次返回之前, activity 都不會再

處於可終止狀態。

onload什麼時候執行

在js中,如果希望在頁面載入完成後執行某些操作的話,一般的寫法如下 window.onload function function 等同於寫法 document ready 和 ready 在 document ready 執行時,整個dom文件樹已經解析完成,即各個dom元素都已經可以訪問了 但是...

什麼時候用exists 什麼時候用in

in not in exists not exists 使用exists,oracle會首先檢查主查詢,然後執行子查詢直到它找到第乙個匹配項,這就節省了時間。oracle在執行in子查詢時,首先執行 子查詢,並將獲得的結果列表存放在乙個加了索引的臨時表中。在執行子查詢之前,系統先將主查詢掛起 待子查...

什麼時候用GET?什麼時候用POST?

get和post兩種方法都是將資料送到伺服器,但你該用哪一種呢?http標準包含這兩種方法是為了達到不同的目的。post用於建立資源,資源的內容會被編入http請示的內容中。例如,處理訂貨表單 在資料庫中加入新資料行等。當請求無 時 如進行搜尋 便可使用get方法 當請求有 時 如新增資料行 則用p...