深入學習android之任務與堆疊

2021-05-23 11:17:06 字數 620 閱讀 6582

乙個任務其實就是乙個activity的堆疊。 也是使用者感知到的「乙個應用」。

預設情況下,乙個應用程式中的activity傾向於屬於同乙個任務。但是可以通過設定tackaffinity屬性,使不同應用程式的activity享有同乙個affinity,或者同乙個程式的activity有不同的affinity。設定了affinity後,還需要在以下兩種情況下,才能實現。一:啟動activity的intent物件包含了flag_activity_new_task標記。二:當activity的allowtaskreparenting屬性設定為「true」。

啟動模式:的launchmode有4種不同的啟動模式:standard;singletop;singletask;singleinstance 區別在於是否可以被載入到其他任務中,是否是任務中唯一的activity,是否可以被多次例項化。

注意:當使用現有的activity來處理intent時,不能靠按back按鍵回到之前的狀態。

清理堆疊:如果使用者離開乙個任務很長時間,系統會清除掉除了根activity外的所有activity。這是預設行為,但也可以通過acivity的屬性來更改。比如:alwaysretaintaskstate;cleartaskonlaunch;finishontasklaunch等。

深入學習Android效能優化

3.16深入探索android穩定性優化 3.17深入探索android啟動優化 上 深入探索android啟動速度優化 下 3.18android效能優化之記憶體優化 深入探索 android 記憶體優化 煉獄級別 上 深入探索 android 記憶體優化 煉獄級別 下 3.20android效能...

深入學習之http

http協議是無狀態的,指的是協議對於事務處理沒有記憶能力,伺服器不知道客戶端是什麼狀態。也就是說,開啟乙個伺服器上的網頁和你之前開啟這個伺服器上的網頁之間沒有任何聯絡。http是乙個無狀態的面向連線的協議,無狀態不代表http不能保持tcp連線,更不能代表http使用的是udp協議 無連線 從 h...

深入學習之淺拷貝

let foo let bar object.assign bar,foo foo.a foo.a 2 true bar.a 1 true 乍一看,好像已經實現了深拷貝的效果,對foo.a進行的操作並沒有體現在bar.a中,但是再往後看 foo.c.d foo.c.d 2 true bar.c.d ...