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這么一種機制,讓用戶沒有感覺到應用的中斷,讓用 戶感覺在一“應用程序”里就完成了想完成的工作。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM