我閱讀了關於任務和回棧的內容,但仍然沒有混淆。我只是在嘗試不同的事情,並且討論了一個案例。舉個例子: 我們有兩個應用程序A1和A2。 A1有一個活動,稱爲A1_first(也是主要活動),A2有兩個活動A2_first(主要活動)和A2_second。 A2_second是一個singleTask活動。 A1_frist在按下按鈕時調用A2_second,A2_first在按鈕按下時調用A2_second。理解回棧和任務難度
如果我啓動A2我可以看到A2_first屏幕,按下按鈕後我去A2_second(如預期),但假設我第一次推出A1和後按下按鈕A2_second,現在從發射按Home鍵,並再次A2圖標,我達到了A2_秒,但我預計會達到A2_first。
我不明白我錯過了什麼。有人可以解釋 按A2 A1_first -----> A2_second ----> home -----------------> A2_second(爲什麼不是A2_first ?? A2_first是主要活動對於A2)。
約定大衛,我不應該使用單一的任務,但我不使用這個來創建任何應用程序,我試圖做深入的潛水。 我仍然有疑問,因爲當我點擊圖標時,我看到整個任務進入前臺(並且你看到你離開的位置),但在這種情況下,A2_first和A2_second應該屬於不同的任務,如「http://developer.android .com/guide/components/tasks-and-back-stack.html「: 」SingleTask「系統創建一個新任務並在新任務的根目錄下實例化活動。 所以如果我按A2的圖標任務相關的A2_first應該在前臺。 – user1875798
不是。它比這更復雜。還有「taskAffinity」的概念。由於A2_first和A2_second具有相同的「taskAffinity」,所以當您按下A2圖標時,它會將任何任務帶到具有此taskAffinity的前景。如果你真的想要單獨的任務,那麼你需要使用單獨的圖標,併爲A2_second設置「android:taskAffinity =」「'。 –
謝謝loooooooooooooooot ...明白了你的觀點。 – user1875798