(1) onStart和onResume的區(qū)別是onStart可見峡谊,還沒有出現(xiàn)在前臺苟径,無法和用戶進(jìn)行交互贸街。onResume獲取到焦點(diǎn)可以和用戶交互娃承。
(2) 新Activity是透明主題時(shí),舊Activity不會走onStop桩匪;
(3) Activity切換時(shí)打瘪,舊Activity的onPause會先執(zhí)行,然后才會啟動新的Activity傻昙;
(4) Activity在異常情況下被回收時(shí)闺骚,onSaveInstanceState方法會被回調(diào),回調(diào)時(shí)機(jī)是在onStop之前妆档,當(dāng)Activity被重新創(chuàng)建的時(shí)候僻爽,onRestoreInstanceState方法會被回調(diào),時(shí)序在onStart之后贾惦;(異常被回收是指資源相關(guān)的系統(tǒng)配置發(fā)生改變?nèi)鐧M豎屏切換或者系統(tǒng)內(nèi)存不足)
(5) Activity的LaunchMode,啟動模式
a. standard 系統(tǒng)默認(rèn)胸梆。每次啟動會重新創(chuàng)建新的實(shí)例,誰啟動了這個Activity须板,這個Activity就在誰的棧里碰镜。
b. singleTop 棧頂復(fù)用模式。 如果新的activity已經(jīng)在任務(wù)棧頂,那么此activity不會被重新創(chuàng)建, 該Activity的onNewIntent方法會被回調(diào)逼纸,onCreate和onStart并不會被調(diào)用洋措。如果新的activity的實(shí)例已經(jīng)存在但不是位于棧頂,那么新的activity會重新創(chuàng)建.
c. singleTask 棧內(nèi)復(fù)用模式。只要該Activity在一個棧中存在杰刽,都不會重新創(chuàng)建菠发,onNewIntent會被回調(diào),并且會把該activity至于棧頂,會清除其上面的activity。如果不存在贺嫂,系統(tǒng)會先尋找是否存在需要的棧滓鸠,如果不存在該棧,就創(chuàng)建一個任務(wù)棧第喳,然后把這個Activity放進(jìn)去糜俗;如果存在,就會創(chuàng)建到已經(jīng)存在的這個棧中曲饱。
d. singleInstance悠抹。加強(qiáng)版的singleTask,除了具有singTask的所有特性外,具有此種模式的Activity只能單獨(dú)存在于一個任務(wù)棧。
(6) 標(biāo)識Activity任務(wù)棧名稱的屬性:TaskAffinity扩淀,默認(rèn)為應(yīng)用包名楔敌。結(jié)合singletask或singlinstance來用.
(7) IntentFilter匹配規(guī)則。
a. action匹配規(guī)則:要求intent中的action存在且必須和過濾規(guī)則中的其中一個相同 區(qū)分大小寫驻谆;
b. category匹配規(guī)則:系統(tǒng)會默認(rèn)加上一個android.intent.category.DEAFAULT卵凑,所以intent中可以不存在category庆聘,但如果存在就必須匹配其中一個;
c. data匹配規(guī)則:data由兩部分組成勺卢,mimeType和URI伙判,要求和action相似。如果沒有指定URI黑忱,URI但默認(rèn)值為content和file(schema)