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