Android Activity的生命周期詳細介紹
Android Activity的生命周期詳細介紹
生命周期描述的是一個類從創(chuàng)建(new出來)到死亡(垃圾回收)的過程中會執(zhí)行的方法。在這個過程中,會針對不同的生命階段調(diào)用不同的的方法。
Activity是Android中四大組件之一,是最常見的應用組件,也是用的最多的組件,它能夠提供一個界面與用戶進行交互。Activity從創(chuàng)建到銷毀有多種狀態(tài),從一種狀態(tài)到另一種狀態(tài)時會激發(fā)相應的回調(diào)方法,這些回調(diào)方法包括:onCreate onDestory onStart onStop onResume onPause。這些方法都是兩兩對應的,onCreate-->創(chuàng)建與onDestory-->銷毀;onStart-->可見與onStop-->不可見;onResume-->可編輯(焦點)和onPause-->未獲得焦點。最后還有一個方法是onRestart,這個方法在什么時候調(diào)用呢?當Activity被onStop后,但是并沒有onDestory,即并沒有被銷毀時,用戶重新回到當前Activity時,就調(diào)用onRestart方法,這里就不再是調(diào)用onCreate方法了。
public class MainActivity extends ActionBarActivity {
private final static String TAG = "MainActivity";
@Override
// Activity被創(chuàng)建時調(diào)用
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.e(TAG, "onCreate.......");
}
@Override
// 該狀態(tài)用戶可見,但是用戶還不能與之進行交互
protected void onStart() {
super.onStart();
Log.e(TAG, "onStart.......");
}
@Override
// 該狀態(tài)是Activity獲得用戶焦點,用戶可以與之進行交互
protected void onResume() {
super.onResume();
Log.e(TAG, "onResume.......");
}
@Override
//與onResume對應,當Activity失去焦點時調(diào)用
protected void onPause() {
super.onPause();
Log.e(TAG, "onPause.......");
}
@Override
//與onStart對應,當Activity不可見時調(diào)用
protected void onStop() {
super.onStop();
Log.e(TAG, "onStop.......");
}
@Override
//與onCreate對應,當Activity被銷毀時調(diào)用
protected void onDestroy() {
super.onDestroy();
Log.e(TAG, "onDestroy.......");
}
@Override
//Activity從后臺重新回到前臺調(diào)用
protected void onRestart() {
super.onRestart();
Log.e(TAG, "onRestart.......");
}
}
Activity的完整生命周期:oncreate-->onstart-->onresume-->onpause-->onstop-->ondestory。用戶在點擊返回鍵的時候,Activity會銷毀,這時Activity先是不可編輯,再是不可見,最后被銷毀。而當用戶點擊home鍵的時候,即表示退回到桌面,這時的Activity并不會被銷毀,所以這里現(xiàn)實不可編輯,再是不可見,這時并不會調(diào)用onDestory方法被銷毀,此時再點擊進入該應用,會調(diào)用onRestart方法,不再是調(diào)用Activity,然后再是調(diào)用onStart,onResume。
下面是Activity的生命周期圖:

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
Android WorkManager實現(xiàn)后臺定時任務流程詳解
WorkManager是Android Jetpack的一個強大的組件,用于處理后臺耗時任務。后臺任務可以是一次性的,也可以是重復的,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧2023-01-01
淺談Android Studio導出javadoc文檔操作及問題的解決
這篇文章主要介紹了淺談Android Studio導出javadoc文檔操作及問題的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Android實現(xiàn)瘋狂連連看游戲之開發(fā)游戲界面(二)
這篇文章主要為大家詳細介紹了Android實現(xiàn)瘋狂連連看游戲之開發(fā)游戲界面,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03
Android開發(fā)實現(xiàn)popupWindow彈出窗口自定義布局與位置控制方法
這篇文章主要介紹了Android開發(fā)實現(xiàn)popupWindow彈出窗口自定義布局與位置控制方法,涉及Android彈出窗口功能、布局及屬性設置相關操作技巧,需要的朋友可以參考下2017-09-09

