群英傳學習筆記

2021-07-10 05:51:30 字數 979 閱讀 8817

內容一:activity的任務棧

singletop的應用場景:

這種啟動模式通常適用於接收到資訊後顯示的介面,例如qq接收到訊息後彈出actvity,如果一次來10條簡訊,總不能一次彈10個activity。

singletask的應用場景:

可以發現,使用這個模式建立的activity不是在新的任務棧中被開啟,就是將已經開啟的activity切換到前台,所以這種模式可以退出整個應用:將主activity設定為singletask模式,然後在要退出的activity中轉到主activity,從而將主activity之上的activity都清除,然後重寫主activity的onnewintent()方法,在方法中加上一句finish(),將最後乙個activity結束掉。

singleinstance模式:

這種模式通常用於需要與程式分離的介面,如在setupwizard中呼叫緊急呼叫。

關於singletop和singleinstance還有一點要注意:如果在singletop和singleinstance的activity a中通過startactivityforresult啟動另乙個activityb,那麼系統將直接返回activity.result_canceled而不會去等待返回。因為android開發者認為,不同task之間,預設是不能傳遞資料的,如果要傳遞資料,應該使用intent來傳遞。

清空任務棧:

通常情況下可以在清單檔案中的標籤中使用以下幾種屬性來清理任務棧。

cleartaskonlaunch:在每次返回該activity都把該activity之上的activity都清除。通過這個屬性,可以讓這個task每次在初始化的時候,都只有這乙個activity。finishontasklauchalwaysretaintaskstate:該activity所在的task將不接收任何的清理命令

效能優化 Android群英傳

1 布局優化 1 避免overdraw 2 優化布局層級 降低view樹的高度。3 避免巢狀過多無用布局 4 使用標籤重用layout 5 使用實現view的延遲載入,是乙個輕量級的元件,不僅不可視,而且大小為0.需要的時候再顯示。兩種方式顯示這個view。mviewstub.setvisibili...

Android群英傳小總結

看書的總結參考資料 android群英傳 1.1控制項架構 activity phonewindow decorview titleview,contentview 1.2view的測量 1 onmeasure 方法 2 measurespec類是乙個32位int值,高2位是測量模式,低30是測量大...

Android群英傳小總結

看書的總結參考資料 android群英傳 1.1控制項架構 activity phonewindow decorview titleview,contentview 1.2view的測量 1 onmeasure 方法 2 measurespec類是乙個32位int值,高2位是測量模式,低30是測量大...