您好,登錄后才能下訂單哦!
Android項目中如何使用Activity的生命周期?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
Android Activity的生命周期詳細介紹
生命周期描述的是一個類從創建(new出來)到死亡(垃圾回收)的過程中會執行的方法。在這個過程中,會針對不同的生命階段調用不同的的方法。
Activity是Android中四大組件之一,是最常見的應用組件,也是用的最多的組件,它能夠提供一個界面與用戶進行交互。Activity從創建到銷毀有多種狀態,從一種狀態到另一種狀態時會激發相應的回調方法,這些回調方法包括:onCreate onDestory onStart onStop onResume onPause。這些方法都是兩兩對應的,onCreate-->創建與onDestory-->銷毀;onStart-->可見與onStop-->不可見;onResume-->可編輯(焦點)和onPause-->未獲得焦點。最后還有一個方法是onRestart,這個方法在什么時候調用呢?當Activity被onStop后,但是并沒有onDestory,即并沒有被銷毀時,用戶重新回到當前Activity時,就調用onRestart方法,這里就不再是調用onCreate方法了。
public class MainActivity extends ActionBarActivity { private final static String TAG = "MainActivity"; @Override // Activity被創建時調用 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.e(TAG, "onCreate......."); } @Override // 該狀態用戶可見,但是用戶還不能與之進行交互 protected void onStart() { super.onStart(); Log.e(TAG, "onStart......."); } @Override // 該狀態是Activity獲得用戶焦點,用戶可以與之進行交互 protected void onResume() { super.onResume(); Log.e(TAG, "onResume......."); } @Override //與onResume對應,當Activity失去焦點時調用 protected void onPause() { super.onPause(); Log.e(TAG, "onPause......."); } @Override //與onStart對應,當Activity不可見時調用 protected void onStop() { super.onStop(); Log.e(TAG, "onStop......."); } @Override //與onCreate對應,當Activity被銷毀時調用 protected void onDestroy() { super.onDestroy(); Log.e(TAG, "onDestroy......."); } @Override //Activity從后臺重新回到前臺調用 protected void onRestart() { super.onRestart(); Log.e(TAG, "onRestart......."); } }
Activity的完整生命周期:oncreate-->onstart-->onresume-->onpause-->onstop-->ondestory。用戶在點擊返回鍵的時候,Activity會銷毀,這時Activity先是不可編輯,再是不可見,最后被銷毀。而當用戶點擊home鍵的時候,即表示退回到桌面,這時的Activity并不會被銷毀,所以這里現實不可編輯,再是不可見,這時并不會調用onDestory方法被銷毀,此時再點擊進入該應用,會調用onRestart方法,不再是調用Activity,然后再是調用onStart,onResume。
下面是Activity的生命周期圖:
關于Android項目中如何使用Activity的生命周期問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。