2011-10-29 153 views
0

我讀了開發商android.com指導有關Task and back stacks,它說:「返回堆棧的基本

假設,例如,當前任務(任務A)在其堆棧二三 活動根據目前的活動。用戶 按HOME鍵,然後從 應用程序啓動器啓動一個新的應用程序。當主屏幕出現時,任務A進入 的背景。當新應用程序啓動時,系統會使用其自己的一系列活動爲該應用程序啓動 任務(任務B)。 與該應用程序進行交互後,用戶再次返回主頁 並選擇最初啓動任務A的應用程序。現在,任務 A進入前臺 - 其堆棧中的所有三個活動都是完好的 以及活動的頂部堆棧恢復。

看起來好像每個任務創建它自己的堆棧(後退堆棧)。我的假設是真實的還是隻有一個堆棧,通常是編譯器,比如C?

回答

0

我會說他們說的是真的!每個任務創建它自己的堆棧(後退堆棧)。

1

回棧可以跨越任務邊界。當活動的launchmode設置爲singleTask時,活動將在新任務中創建。

假設活動B在0123文件中有launchmode=singleTask。當活動A啓動活動B時,後者將處於其自己的任務中。但是,按back鍵將使用戶回到活動A。所以AB是在相同的反向堆棧中,但在不同的任務。

請參閱http://developer.android.com/guide/topics/fundamentals/tasks-and-back-stack.htmllaunchmode的討論。


聲明:我還沒有驗證文檔是否正確。