Task和BackTask

一、總結性知識點:

? ??1、Android應用運行時會創建任務Task,用于存放主窗口
? ??2、每一個任務包含一個堆棧數據結構,用于保存當前應用已創建的窗口對象,這個堆棧即回退棧BackStack
? ??3、?位于回退棧頂的窗口會處于焦點狀態

? ??4、?窗口的顯示與關閉即是入棧與出棧的過程

二、詳細描述
? ??(一)、任務Task:
? ??1、概念:
? ??? ??一個任務(task)就是在執行某項工作時與用戶進行交互的Activity的集合。這些Activity按照被打開的順序依次被安排在一個堆棧中(回退棧)。
? ??2、主屏頁面:
? ??? ??設備的主屏是大多數任務的啟動位置,當用戶觸摸一個應用程序啟動器圖標(或者app快捷圖標),應用程序的任務就會在前臺顯示。如果相關應用程序的任務不存在,那么就會有一個新的任務被創建,并且應用程序打開的“主”Activity會作為任務中的根Activity。
? ??(二)、回退棧:
? ??1、概念:
? ??? ??在當前的Activity啟動了另一個Activity時,這個新的Activity被放到了堆棧的頂部,并且帶有焦點。
? ??? ??前一個Activity并沒有消失,而是保存在回退棧中,此時它處于停止狀態。
? ??? ??當用戶按下回退按鈕時,當前的Activity會被從回退棧的頂部彈出(這個Activity被銷毀),而前一個Activity被恢復。堆棧中的Activity不會被重新排列。因此,回退棧的操作跟后進先出的對象結構是一樣的。
? ??? ??在用戶按下回退按鈕時,當前Activity被銷毀,并且前一個Activity被恢復。如果用戶繼續按回退按鈕,那么回退棧中的每個Activity會被依次彈出,前一個Activity會被顯示,直到用戶返回主屏(或者返回到任務開始時運行的那個Activity)。當所有的Activity從回退棧中被刪除時,這個任務就不再存在了。
? ??(三)、Activity和Task的默認行為的總結:
? ??1、當Activity?A啟動Activity?B時,ActivityA被終止,但是系統保留了它的狀態(如滾動條的位置和錄入表單的文本)。如果用戶在Activity?B中按回退按鈕,Activity?A會使用被保存的狀態來進行恢復。
? ??2、當用戶通過按主頁(Home)按鈕離開一個任務時,當前的Activity會被終止,并且被放入后臺。系統會保留任務中每個Activity的狀態。如果用戶隨后通過選擇啟動圖標來恢復這個任務,那么任務會來到前臺,并且恢復了堆棧頂部的Activity。
? ??3、如果用戶按下回退按鈕,當前的Activity會從堆棧中被彈出并且被銷毀。堆棧中的前一個Activity會被恢復。Activity被銷毀時,系統不會保留Activity的狀態。
? ??4、Activity能夠被實例化多次,甚至來自其他任務。?
三、壓棧和彈棧 (一個任務中多窗口顯示與關閉)

轉載于:https://www.cnblogs.com/android-blogs/p/5690823.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/372624.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/372624.shtml
英文地址,請注明出處:http://en.pswp.cn/news/372624.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java面試題二

1、public、private、protected、Friendly的區別與作用域 public,protected,friendly,private的訪問權限如下: 關鍵字 當前類 包內 子孫類 包外 public √ √ √ √ protected…

使用Spring Roo進行快速云開發–第1部分:Google App Engine(GAE)

Spring Roo是在Java平臺上提供快速應用程序開發的工具。 我已經解釋了何時使用它: http : //www.kai-waehner.de/blog/2011/04/05/when-to-use-spring-roo 。 Spring Roo目前支持兩種針對云計算的解決方案:Google App Engine(GAE)…

mysql 重裝,Windows系統中完全卸載MySQL數據庫實現重裝mysql

一、在控制面板,卸載MySQL的所有組件控制面板——》所有控制面板項——》程序和功能,卸載所有和MySQL有關的程序二、找到你的MysQL安裝路徑,看還有沒有和MySQL有關的文件夾,全刪如果安裝在C盤,檢查一下C:\Program File…

loadrunner 關聯

1、記住關聯的位置(之前),因為登錄之前需要token,才能驗證登錄是否成功,所以,放在登錄之前 轉載于:https://www.cnblogs.com/zyp1/p/5692343.html

網頁上線后音頻不能自動播放

一、問題描述 開發環境谷歌瀏覽器本地測試通過,網站上線后的音樂不播放,而是自動下載? 開發環境safari瀏覽器中,音頻不播放。 二、問題分析 用audio或者embed標簽都有問題,為了節省用戶的流量,安卓和ios都默…

Akka STM –與STM Ref和Agent進行乒乓球比賽

乒乓是一個經典示例,其中2個玩家(或線程)訪問共享資源–乒乓球桌并在彼此之間傳遞Ball(狀態變量)。 使用任何共享資源,除非我們同步訪問,否則線程可能會遇到潛在的死鎖情況。 PingPong算法非常簡…

c mysql二進制,MySQL運用connector C/C+讀取二進制字段

MySQL使用connector C/C讀取二進制字段MySQL使用connector C/C讀取二進制字段,兩種方法:用getStringvector vec;while (pResultSet->next()){string str pResultSet->getString("data");vec.insert(vec.end(), str.begin(), str.end())…

在下一個項目中不使用JavaDoc的5大原因

JavaDoc對于框架和庫的開發是絕對必要的,這些框架和庫為其他框架(例如Spring Framework,JDK)提供了公共接口。 對于內部企業軟件和/或產品開發,我有以下原因會在將來忽略“ 100%JavaDoc策略”。 1&#xff…

NPOI操作Excel輔助類

/// <summary> /// NPOI操作excel輔助類 /// </summary> public static class NPOIHelper {#region 定義與初始化public static HSSFWorkbook workbook;[Flags]public enum LinkType{網址,檔案,郵件,內容};private static void InitializeWorkbook(){if (workbook …

JSP九大內置對象,七大動作,三大指令

JSP之九大內置對象 隱藏對象入門探索 Servlet 和JSP中輸出數據都需要使用out對象。Servlet 中的out對象是通過getWriter()方法獲取的。而JSP中沒有定義out對象卻可以直接使用。這是因為out是JSO的內置隱藏對象。JSP中的常見的9個內置隱藏對象如下 out輸出流對象 隱藏對象out是…

matlab變步長的梯形公式,用變步長梯形法計算積分∫sinx/x*x的近似值(二分二次即可)...

共回答了20個問題采納率&#xff1a;90%題目沒寫全吧?現假定積分區間為[0,1],教材《數值分析》(華中科技大學出版)第87頁,例題4.2就有詳細的解答.貌似題目也有錯?確定分母是【x^2】?現在附上該例題(分母是x)的全部解答過程&#xff1a;先對整個區間[0,1]使用梯形公式.對于函…

使用Cloud SQL的Google App Engine全文搜索

許多Google AppEngine開發人員一直在等待全文搜索功能&#xff0c;特別是來自網絡上最大的搜索引擎Google。 很高興看到Google團隊正在努力&#xff0c;您可以在Google I / O 2011大會上簽到&#xff1a; Bo Majewski和Ged Ellis進行的全文本搜索 。 據我所知&#xff0c;非常有…

php 數組值sum,php sum數組值(如果特定列的值重復)

我有一個陣列。我要檢查是否有重復的費用,如果有,我要用相同的費用列匯總所有值。[12] > Array([type] > Other Miscellaneous Fees[fee] > 158[amount] > -22.56[code] > COL_AUDIO[feedesc] > COLLEGE AUDIO VISUAL FEE)[13] > Array([type] > Other…

hdu-5734 Acperience(數學)

題目鏈接&#xff1a; Acperience Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem DescriptionDeep neural networks (DNN) have shown significant improvements in several application domains including computer vision and…

Ninject依賴注入(一)

Ninject學習筆記&#xff08;一&#xff09; Ninject學習筆記&#xff08;一&#xff09;理解依賴注入DI概念什么是DI&#xff1f;DI是如何工作的&#xff1f;什么是DI容器使用Ninject如何使用NinjectNinject對象生命周期暫時范圍單例范圍線程范圍請求范圍自定義范圍Ninject模塊…

我如何向團隊解釋依賴注入

最近&#xff0c;我們公司開始開發基于Java的新Web應用程序&#xff0c;經過一些評估過程&#xff0c;我們決定使用Spring。 但是許多團隊成員并不了解Spring和Dependency Injection的原理。 因此&#xff0c;我被要求給出一個速成班&#xff0c;介紹什么是Spring上的依賴注入和…

可以添加自定義的Select控件

1.控件dom <select name"WebSiteTarget" id"WebSiteTarget" class"w1" onchange"editable2(this);"><option value"-1">請選擇城市</option><option>福州</option><option>廈門</op…

innodb_io_capacity =innodb_lru_scan_depth*inoodb_buffer_pool_instances。與 checkpoint

innodb_lru_scan_depth:每個緩沖池刷臟頁的能力 innodb_io_capacity: iops inoodb_buffer_pool_instances8 :緩沖池的個數 .關系&#xff1a; innodb_io_capacity > innodb_lru_scan_depth * inoodb_buffer_pool_instances 轉載于:https://www.cnblogs.com/zengkefu/…

Java中的責任鏈模式

當應有幾個處理器來執行某項操作并為這些處理器定義特定順序時&#xff0c;就需要采用責任鏈設計模式。 在運行時處理器順序的可變性也很重要。模式的UML表示如下&#xff1a; 處理程序定義處理器對象的一般結構。 這里的“ HandleRequest”是抽象處理器方法。 處理程序還具有自…

php的excel源碼下載,PHPExcel-5 - 源碼下載|Windows編程|其他小程序|源代碼 - 源碼中國...

文件名大小更新時間PHPExcel02019-05-11PHPExcel\.gitattributes702019-01-02PHPExcel\.gitignore1082019-01-02PHPExcel\.travis.yml5122019-01-02PHPExcel\16329.xlsx510662019-05-11PHPExcel\19093.xlsx511932019-05-11PHPExcel\43877.xlsx530952019-05-11PHPExcel\62045.xl…