Activity棧瀏覽器
當用戶在Application中,從一個Activity跳到另外一個時,Android系統會 保存一個用戶訪問Activity的線性導航歷史。 這就是activity棧,也被稱爲返回棧。 通常來講,當用戶運行一個新的Activity,這個Activity就會被加到Activity棧裏。所以,當用戶 按BACK鍵的時候,棧中的上一個Activity就會被展現出來。 用戶能夠一直按BACK鍵,直到返回到了主屏。 返回操做可使用戶從當前Task回到上一個Task。 用戶能夠在應用管理器、主屏、或者「最近Task」屏幕,恢復到剛剛的Task。只有Activity能夠加到Activity棧裏去,其它的,包括View、Window、Menu或者Dialog都不行。 這就是說,假設,界面A跳到界面B,而後用戶能夠用BACK跳回界面A。這種狀況下,A和B都要被實現成Activity。 這個規則有一個例外的狀況。那就是除非你的應用 控制了BACK鍵而且本身管理界面導航。spa
Task圖片
Task就是一個棧。
it
一個Task是用戶能夠完成一個特定目標的一組Activity。與Activity屬於哪一個Application無關。 除非明確地新建一個Task,(參考打斷Task),用戶啓動的全部Activity都默認是當前Task的一部分。 須要注意的是,這些Activity可能屬於任何一個Application — 屬於同一個Application或者屬於不一樣的Application。 這就是說,一個Task能夠是,從聯繫人列表開始,而後選擇一個郵箱地址(經過電郵Activity),而後附加一個照片(經過圖片Activity)。 聯繫人列表、電郵、圖片,這些都存在於不一樣的Activity中。
io
啓動Task的Activity被稱做根Activity。 一般,Task是從應用管理器、主屏或者最近Task(長按HOME鍵)開始的。 用戶能夠經過點擊根Activity的圖標回到Task裏去,就像啓動這個Activity同樣。 在這個Task中,BACK鍵能夠回到這個Task的前一個Activity裏。 Activity棧能夠由一個或多個Task組成。方法
打斷Task地圖
Task的一個重要的特性就是,用戶能夠中斷他當前正在作的事(他的任務),去進行另外一個Task,而後能夠返回到原來的那個Task去完成它。 這個特性的意圖,就是用戶能夠同時運行多個任務,而且能夠在這些任務間切換。 有兩種主要的的方法離開一個Task,這兩種狀況中,應該讓用戶可以返回到他們離開的那個任務:
用戶被Notification打斷 – 來了一個通知,用戶開始關注處理這個通知
用戶決定開始另外一個任務 - 用戶按了HOME鍵,而後開始了另外一個Application
固然,規則老是有例外。除了上面提到了兩種方法,確實存在第三種方法開始一個新任務,即,在代碼中startActivity的時候,定義它要開始一個新 Task。 地圖和瀏覽器兩個應用就是這麼作的。 例如,在電郵中點擊一個地址,會在新Task調出地圖Activity,在電郵中點擊一個連接,會在新的Task中調出瀏覽器。 在這種狀況下,BACK鍵會回到上一個Activity(另外一個Task中的電郵Activity),由於它不是從主屏啓動的。
activity