1.Activity 的生命周期
onCreate(創(chuàng)建) ->onStart(啟動) ->onResume(可交互) ->onPause(暫停) ->onStop(停止) ->onDestroy(銷毀)
其中前景模式是由oncreate(創(chuàng)建)、onstart(啟動) 、onresume(可見可交互)三個方法來體現(xiàn)的。而可見模式則分為兩種狀態(tài),一種是被dialog覆蓋,進入透明模式,在onpause(暫停)可以體現(xiàn)出來,第二就是如果當(dāng)前activity被完全覆蓋,就會進入onstop狀態(tài),完全不可見,當(dāng)覆蓋物消失時會調(diào)用onrestart方法來喚醒該activity,由覆蓋狀態(tài)重新變?yōu)榭梢姞顟B(tài),并
重新執(zhí)行onstart和onresume重新變?yōu)榭梢娍山换顟B(tài)。
2.Activity 的四種啟動方式
standard: 先進后出;
singleTop: 棧頂就是該Activity,則不需要創(chuàng)建,其余情況都要創(chuàng)建Activity實例;
應(yīng)用場景:商品推送,推送多條商品,全部點擊,只會創(chuàng)建一個商品詳情頁面
singleTask: Activity在任務(wù)棧中存在,則不創(chuàng)建,會把此Activity放入棧頂,并把該Activity以上的 Activity實例都出棧;
應(yīng)用場景:應(yīng)用入口Activity,每次跳轉(zhuǎn)的時候都會把之上的Activity全部清空
singleInstance: activity單獨放到一個棧,下次再使用的時候,直接使用這個棧
應(yīng)用場景:打電話,鬧鐘等
3.Activity 間傳如何遞數(shù)據(jù)
* 通過 Intent 傳遞
* 通過全局變量傳遞
* 通過 SharedPreferences 傳遞
4.Activity 橫豎屏切換生命周期有哪些變化
* 不設(shè)置configChanges時,切屏?xí)匦抡{(diào)用各個生命周期,切橫屏?xí)r會執(zhí)行一次,切豎屏?xí)r會執(zhí)行兩次
* 設(shè)置configChanges="orientation"時,切屏還是會重新調(diào)用各個生命周期,切橫、豎屏?xí)r只會執(zhí)行一* 次
* 設(shè)置configChanges="orientation|keyboardHidden"時,切屏不會重新調(diào)用各個生命周期,只會執(zhí) * 行onConfigurationChanged方法
5.顯示Intent 和隱式Intent 有和區(qū)別
* 顯式Intent: 通過Activity名稱來跳轉(zhuǎn),(a.this,b.clss)
* 隱式Intent: 在清單文件中配置IntentFilter來實現(xiàn),用在沒有明確指出目標(biāo)組件名稱的前提下,當(dāng)應(yīng)* 用要跳轉(zhuǎn)另一個應(yīng)用的Activity時,
* 只能使用隱式意圖,根據(jù)Activity配置的意圖過濾器建一個意圖,讓意圖中的各項參數(shù)的值都跟過濾器* 匹配,就可以激活其他應(yīng)用的Activity