activity面試題

什么是activity?

答:Activity是Android一個(gè)非常重要的用戶接口,是可見的,用戶和應(yīng)用程序之間進(jìn)行交互的接口。在每個(gè)Activity中都可以放很多控件,所以也可以把Activity看作控件的容器。

一.activity生命周期

? ?1.activity的4種狀態(tài)

? ? ? ? running放在棧頂

? ? ? ? paused失去焦點(diǎn),成員變量都還在

? ? ? ? stopped當(dāng)activity被覆蓋的時(shí)候

? ? ? ? killed 此時(shí)的activity已經(jīng)被銷毀,所有變量都不存在
? ? 2.生命周期

activity啟動(dòng)

? ? 1.oncreate()是在activity創(chuàng)建的時(shí)候調(diào)用,初始化的時(shí)候調(diào)用
? ? 2.onstart()表明activity正在啟動(dòng)狀態(tài),這時(shí)的activity可以看見但是不能觸摸

? ? 3.onresume()此時(shí)的activity可見,并且可以和用戶交互

點(diǎn)擊home鍵回到主見面

? ? 1.onpause()此時(shí)activity處于停滯狀態(tài),可見但不可觸摸

? ? 2.onstop()當(dāng)activity完全不可見,也是不可交互的

當(dāng)我們再次回到原activity的時(shí)候

? ? 1.onrestart()表示activity正在重新啟用,

? ? 2.onstart()

? ? 3.onresume()

退出當(dāng)前activity

? ? 1.onpause()

? ? 2.onstop()

? ? 3.ondestory()activity完全銷毀,此時(shí)可以做一些關(guān)閉的操作

二.android進(jìn)程優(yōu)先級(jí)

1.前臺(tái):例如和用戶正在交互的activity或者在前臺(tái)activity綁定的service

2.可見 :activity處于可見但是不能點(diǎn)擊的時(shí)候就是可見進(jìn)程

3.服務(wù):在后臺(tái)開啟的服務(wù)進(jìn)程就是服務(wù)進(jìn)程

4.后臺(tái):比如前臺(tái)activity按了home鍵,此時(shí)的activity看不見也不可交互,但是未被系統(tǒng)所回收,及為后臺(tái)進(jìn)程

5.空:除上述四種進(jìn)程外就是空進(jìn)程,可以隨時(shí)被系統(tǒng)所回收

三.android啟動(dòng)模式

1.standard:每次啟動(dòng)都會(huì)重新創(chuàng)建activity實(shí)例,并放在棧中,并走相應(yīng)的生命周期,消耗內(nèi)存資源,

2.singletop:棧頂復(fù)用,當(dāng)創(chuàng)建activity的時(shí)候會(huì)先查看當(dāng)前棧頂是否已經(jīng)存在當(dāng)前activity實(shí)例,如果存在就復(fù)用,如果不存在即重新創(chuàng)建

3.singletask:棧內(nèi)復(fù)用,相當(dāng)于棧內(nèi)的單例模式,當(dāng)創(chuàng)建activity先檢查棧內(nèi)是否存在此activity,如果存在,他會(huì)把當(dāng)前activity上面的其他activity移除,銷毀,走onnewinstant方法

4.singleinstance:獨(dú)享任務(wù)棧模式

四.scheme跳轉(zhuǎn)協(xié)議

android中的scheme是一種頁面內(nèi)跳轉(zhuǎn)協(xié)議,是一種非常好的實(shí)現(xiàn)機(jī)制,通過定義自己的scheme協(xié)議,可以非常方便跳轉(zhuǎn)app中的各個(gè)頁面,通過scheme協(xié)議,服務(wù)器可以定制化告訴app跳轉(zhuǎn)那個(gè)頁面,可以通過通知欄消息定制化跳轉(zhuǎn)頁面,可以通過H5頁面跳轉(zhuǎn)頁面等.

簡單來說,這個(gè)scheme協(xié)議其實(shí)就是給個(gè)uri地址,把參數(shù)以及要打開的activity的名字封裝在里面,在客戶端中解析這個(gè)uri地址,獲取到activity的名字及參數(shù),通過這兩個(gè)順利打開指定的activity.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容