Application、Activity Stack和Task的區別

學習Android,瞭解一些基本概念將有助更深入的去學習和理解Android。在這裏,所要講訴的是Android裏三個比較基礎的概念:Android Application、Activity Stack 和 Task。

  1. 什麼是Android Application?

  Android Application就是一個android應用程序。 簡單的理解就是一個apk就是一個Android Application。例如Android平臺下自帶的應用程序:Browser、Contacts、camera等。

  每一個Application都是由Activity、Service、content Provider和Broadcast Receiver等Android的基本組件所組成,其中Activity是實現應用程序的主體,它承擔了大量的顯示和交互工作,甚至可以理解爲一個界面 就是一個Activity。

  2. 什麼是Activity Stack?

  如上所訴,Activity承擔了大量的顯示和交互工作,從某種角度上將,我們看見的應用程序就是許多個Activity的組合。爲了讓這許多 Activity協同工作而不至於產生混亂,Android平臺設計了一種堆棧機制用於管理Activity,其遵循先進後出的原則,系統總是顯示位於棧 頂的Activity,從邏輯上將,位於棧頂的Activity也就是最後打開的Activity,這也是符合邏輯的。

  在操作應用程序時,每次啓動新的Activity,都會將此壓入Activity Stack,當用戶執行返回操作時,移除Activity Stack頂上的Activity,這樣就實現了返回上一個Activty的功能。直到用戶一直返回到Home Screen,這時候可以理解爲移除了Activity Stack所有的Activity,這個Activity Stack不再存在,應用程序也結束了運行。

  3. 什麼是Task?

  Task是指將相關的Activity組合到一起,以Activity Stack的方式進行管理。從用戶體驗上講,一個“應用程序”就是一個Task,但是從根本上講,一個Task是可以有一個或多個Android Application組成的。例如:你想在發送短信時,拍一張照並作爲彩信發出去,這時你首先停留在短信應用程序的的Acitivity上,然後跳轉到 Camera應用程序的Activity上,當完成拍照功能後,再返回到短信應用程序的Activity。這實際上是兩個Android Application協同合作後完成的工作,但爲了更好的用戶體驗,Android平臺加入了Task這麼一種機制,讓用戶沒有感覺到應用的中斷,讓用 戶感覺在一“應用程序”裏就完成了想完成的工作。

[文章來源](http://www.cnblogs.com/hnrainll/archive/2012/12/18/2823064.html)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章