【Android 应用开发】Android 返回堆栈 与 任务
文章目錄
- I . 返回堆棧 概念
- II . 返回堆棧 運行機制
- III . 任務
I . 返回堆棧 概念
返回堆棧概念 :
① 任務 : Android 中的任務就是 Android 應用 與 用戶進行交互的 Activity 界面集合 ;
② 返回堆棧 : 將 Activity 界面依次放入 一個 堆棧 數據結構中 , 這個堆棧就是 返回堆棧 ;
③ 作用 : 返回堆棧的作用是 管理 Android 不同層級界面的打開關閉順序 ;
注意 : 任務是多個 Activity , 不是一個 ;
II . 返回堆棧 運行機制
返回堆棧 運行機制 :
① 根 Activity : 用戶在 Launcher 應用中 , 即主屏幕界面 , 沒有打開任何應用 ; 此時點擊應用圖標 , 啟動應用 , 如果該應用沒有被打開過 , 系統就會創建一個新的 返回堆棧 , 這個應用的 Main Activity 就會作為該 返回堆棧的 根 Activity , 放在堆棧的最底部 ;
② 入棧 和 出棧 : 返回堆棧 只有入棧 和 出棧 兩個操作 , 入棧 很容易理解 , 就是打開一個界面 , 堆棧的管理主要是對出棧進行管理 , 出棧可以退出 一個 或 多個 , 不同的操作和配置 會彈出數量不等的 Activity , 這是 返回堆棧 管理的核心 ;
返回堆棧 , 不會有排序行為 , 只有 入棧 和 出棧 兩種操作 ;
③ 入棧原理 : 在 Activity 1 中啟動 Activity 2 , 后者就會入棧 , 放到返回堆棧的棧頂 , 之前的 Activity 1 仍然會滯留在 返回堆棧 中 , 狀態處于 “已停止” 狀態 ; 下圖是 連續 啟動 3 個 Activity 后的返回堆棧 示例圖 :
④ 出棧原理 : 用戶按下返回鍵時 , 返回堆棧 棧頂的元素就會被 彈出堆棧 , 該 Activity 會被銷毀 , 上一個 Activity 會恢復 ; 下圖是在上面入棧的基礎上 , 按下返回鍵 , 將 Activity 3 彈出了返回堆棧 ;
⑤ 全部出棧 : 如果用戶連續按返回鍵 , 直到回到主界面 , 此時該應用的所有 Activity 都退出了 , 任務隨著 返回堆棧 的退棧清空 而 銷毀 ;
III . 任務
1 . 任務簡介 :
① 任務本質 : 任務是 Activity 界面集合 ;
② 后臺任務 : 用戶打開新的應用 , 或 按下了 Home 鍵 , 會導致原來的 任務 轉變成 “后臺任務” ;
③ 后臺任務 返回堆棧 : 任務進入后臺 , 其 返回堆棧不會改變 , 堆棧中的 Activity 全部進入 “已停止” 狀態 ;
④ 后臺任務 轉為 前臺 : 當用戶按下 Home 鍵 進入主界面 , 點擊菜單鍵 , 選擇原來的應用 ( 不同手機操作不同 ) , 該后臺任務就會轉為前臺任務 , 其返回堆棧中的 Activity 會保持進入后臺的狀態 ;
注意 : 后臺任務中的 Activity , 可能會因為內存緊張被銷毀 ;
2 . Activity 實例化多次問題 : 如果某個 Activity 可以從多個 Activity 中啟動 , 堆棧中會出現多個相同的 Activity , 該 Activity 被實例化了多次 , 可以通過設置啟動模式 , 避免此類問題 ;
總結
以上是生活随笔為你收集整理的【Android 应用开发】Android 返回堆栈 与 任务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Android 高性能音频】AAudi
- 下一篇: 【C++ 语言】线程安全队列 ( 条件