點(diǎn)擊上方藍(lán)字關(guān)注我哦~
01
前言
在使用AS創(chuàng)建一個基礎(chǔ)的app工程時,第一步就是在各種Activity模板中選擇一個Activity,那么Activity是什么?它又有什么作用呢?
Activity是Android的四大組件之一,我們可以把Activity理解為用戶打開一個app界面就是為一個Activity,Activity承接了用戶操作與app業(yè)務(wù)邏輯的中間橋梁。一個Activity可以是全屏顯示的,也可以只是屏幕的一部分。
02
Activity的四種狀態(tài)
運(yùn)行中(Running/Active):這時Activity位于棧頂,是可見的,并且可以用戶交互。
暫停(Paused):當(dāng)Activity失去焦點(diǎn),不能跟用戶交互了,但依然可見,就處于暫停狀態(tài)。
停止(Stoped):當(dāng)一個Activity被另一個Activity完全覆蓋,或者點(diǎn)擊HOME鍵退入了后臺,這時候Activity處于停止?fàn)顟B(tài)。
銷毀(Detroyed):當(dāng)我們點(diǎn)擊返回鍵或者系統(tǒng)在內(nèi)存不夠用的情況下就會把Activity從棧里移除銷毀,被系統(tǒng)回收,這時候,Activity處于銷毀狀態(tài)。
03
Activity狀態(tài)切換的回調(diào)函數(shù)
onCreate: 當(dāng)Activity第一次被創(chuàng)建時調(diào)用。是生命周期開始的第一個方法。在這里我們可以做一些初始化的操作,把頁面上的各個元素加載到內(nèi)存中。
onStart:當(dāng)Activity正在變?yōu)榭梢姇r調(diào)用。這個時候Activity已經(jīng)可見了,但是還沒有出現(xiàn)在前臺還不能跟用戶交互。
onResume:當(dāng)Activity可以跟用戶交互時調(diào)用,這個時候,這個Activity位于棧的頂部。跟onStart相比,它們都是表示Activity已經(jīng)可見,但是onStart調(diào)用時Activity還在后臺,而調(diào)用onResume時,Activity已經(jīng)進(jìn)入了前臺,可以跟用戶交互了。
onPause:當(dāng)Activity暫停時調(diào)用這個方法;在這里我們可以用來保存數(shù)據(jù),關(guān)閉動畫和其它比較耗費(fèi)CPU的操作。
onStop:當(dāng)Activity進(jìn)入后臺,并且不會被用戶看到時調(diào)用。當(dāng)別的Activity出現(xiàn)在前臺時,或者Activity會被銷毀時,調(diào)用此方法。
onDestroy:這個方法是Activity生命周期中調(diào)用的最后一個方法。它會在Activity被銷毀之前調(diào)用。
onRestart:這個方法是在Activity處于停止?fàn)顟B(tài)后,又回到可視狀態(tài)時調(diào)用。
/ The End /
推薦閱讀
新增LED設(shè)備--從上層到底層理解安卓架構(gòu)之APP篇
新增LED設(shè)備--從上層到底層理解安卓架構(gòu)之Service篇
本文由【嵌入式案例Show】原創(chuàng)出品,未經(jīng)許可,請勿轉(zhuǎn)載
掃碼關(guān)注我們
看更多嵌入式案例
喜歡本篇內(nèi)容請給我們點(diǎn)贊、在看
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點(diǎn),不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!