天天看點

談談Activity管理

關于棧的概念和啟動模式

1、為什麼需要四種啟動模式?池複用,因為按預設情況啟動,會不停建立和銷毀activity,是以引入棧來管理;

2、設定棧有兩種方式?一種是清單檔案配置taskAffinity,一種是intent設定,兩種都有設定,Intent覆寫清單配置。

3、預設按傳回鍵,出棧清空,直接回到桌面,但背景棧保留着,再啟用棧内頁面會複用。

4、不管目前顯示哪個棧,按home鍵,再次進入,顯示預設棧。

5、onNewIntent和onRestart的差別?前者Intent方式重複啟動回調,後者頁面切換再次可見執行

關于lifecycle

1、生命周期執行的主要資料的儲存和銷毀

2、onsaveInstance和onRestoreInstance、oncreate?

頁面即将不隻是失去焦點時,具體指按home鍵系統會儲存資料,頁面及其所有view都會調onsaveInstance方法

又會在頁面資料完全可操作前恢複,既是onpasuse後調用onsaveInstance,onresume之前onRestoreInstance;

關于資料恢複也可以從oncreate恢複,但是需要判空,系統清理頁面建議在onRestoreInstance恢複;

3、旋轉手機分為三種情況,完全不配置screenOrientation,頁面會走銷毀再建立,如果配置了固定方向等屬性,則會

回調onConfigChanged;如果指明垂直方向,則不會響應任何監聽(建議指明)

4、目前頁面啟動不透明頁面的什麼周期

A onpause B oncreate B onstart B onResume A onsaveInstance  A onstop 

再按傳回

B onpase  A onRestart A start A onResume B onstop B ondestroy