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

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

