欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Android task和back stack詳解一:概述

系統(tǒng) 2173 0

  一個(gè)應(yīng)用往往包含很多 activities .每個(gè) activity 應(yīng)圍繞著用戶可執(zhí)行的特定動(dòng)作來設(shè)計(jì),并且可以啟動(dòng)其它 activitie .例如,一個(gè) email 應(yīng)用可能可能有一個(gè)顯示新郵件列表的 activity .當(dāng)用戶選擇一個(gè)郵件,一個(gè)新的 activity 被打開以顯示郵件內(nèi)容.

  一個(gè) activity 也可以打開同一設(shè)備上存在于其它應(yīng)用的 activitie ,例如, 如果你的應(yīng)用想要發(fā)送一個(gè)郵件,你可以定義一個(gè) intent 來執(zhí)行一個(gè) "send" 動(dòng)作并包含一些數(shù)據(jù),比如一個(gè)地址和一條信息.另一個(gè)應(yīng)用中的一個(gè)叫囂自己可以處理這種 intent activity 就被打開 ( 如果有多個(gè) activitie 支持同樣的 intent ,那么系統(tǒng)會(huì)讓用戶選擇一個(gè) ) .當(dāng) email 被發(fā)送后,你的 activity 被恢復(fù)并且看起來發(fā)送郵件的 activity 像是你的應(yīng)用的一部分.即使那個(gè) activitie 可能來自不同的應(yīng)用, Android 靠著把兩個(gè) activity 保存在同一個(gè)任務(wù)中來實(shí)現(xiàn)這種無縫的用戶體驗(yàn).

  一個(gè)任務(wù)是用戶在執(zhí)行某種工作時(shí)所交互的 activitie 的集合. activitie 放置 在一個(gè)棧 (" 后退棧 ") 中,按照打開的順序排列.

  設(shè)備的 Home 屏是大多數(shù)任務(wù)的開始場(chǎng)所.當(dāng)用戶觸摸在應(yīng)用啟動(dòng)臺(tái)中的圖標(biāo) ( 或一個(gè) home 屏上的快捷方式 ) 時(shí),應(yīng)用的任務(wù)就來到了前臺(tái).如果沒有這個(gè)應(yīng)用的已存在的任務(wù) ( 這個(gè)應(yīng)用最近沒有被使用 ) ,那么一個(gè)新的任務(wù)被創(chuàng)建并且這個(gè)應(yīng)用的 "main"activity 被作為棧的根 activity 打開.

  當(dāng)當(dāng)前的 activity 啟動(dòng)了另一個(gè) activity ,新的 activity 被放置在棧頂并擁有焦點(diǎn).先前的 activity 依然保存在棧中,但是停止了.當(dāng)一個(gè) activity 停止時(shí),系統(tǒng)保存了它的用戶界的當(dāng)前狀態(tài).當(dāng)用戶后退按鈕時(shí),當(dāng)前的 activity 被從棧頂彈出 (activity 被銷毀了 ) 并且先前的 activity 被恢復(fù)了.棧中的 Activities 永不會(huì)被重新排列,只是入棧或出棧 當(dāng)被當(dāng)前 activity 啟動(dòng)時(shí)就入棧,當(dāng)用戶使用后退按鈕離開它時(shí)就出棧.如此,后退棧也是一個(gè)后進(jìn)先出的棧.


下圖展示了工作棧的變化過程.

Android task和back stack詳解一:概述

  如果用戶繼續(xù)后退,那么棧中的各 activity 被彈出來展示上一個(gè),直到用戶退到 Home ( 或到達(dá)任務(wù)開始時(shí)運(yùn)行的那個(gè) activity) .當(dāng)所有的 activitie 都從棧種移除,任務(wù)就不再存在.

  一個(gè)任務(wù)是一個(gè)有聚合力的單元,它可以在用戶啟動(dòng)一個(gè)新的任務(wù)或回到 home 屏?xí)r被整體地移到后臺(tái).當(dāng)位于后臺(tái)時(shí),任務(wù)中的所有的 activitie 都處于停止,但是任務(wù)的后退棧卻保存完整—當(dāng)任務(wù)被另一個(gè)任務(wù)取代時(shí),僅僅是失去了焦點(diǎn).見圖2:

Android task和back stack詳解一:概述

2. 兩個(gè)任務(wù):任務(wù) B 到了前臺(tái),任務(wù) A 于是被打入后臺(tái),伺機(jī)恢復(fù).


  一個(gè)任務(wù)可以再回到前臺(tái),于是用戶可以獲得他離開時(shí)的模樣.舉個(gè)例子,當(dāng)前的任務(wù) ( 任務(wù) A) 有三個(gè) activitie 在其棧中—兩個(gè)在下面.用戶按下 Home 按鈕,然后又啟動(dòng)一個(gè)新的應(yīng)用.當(dāng) Home 屏出現(xiàn)時(shí),任務(wù) A 到了后臺(tái).當(dāng)新應(yīng)用啟動(dòng)時(shí),系統(tǒng)為這個(gè)應(yīng)用開始了一個(gè)任務(wù) ( 任務(wù) B) .當(dāng)使用完新應(yīng)用時(shí),用戶再次回到了 Home 屏然后選擇了啟動(dòng)任務(wù)A的那個(gè)應(yīng)用.現(xiàn)在,任務(wù) A 來到了前臺(tái)—其棧中所有的三個(gè) activitie 都完整保留并且位于頂層的 activity 被恢復(fù).此時(shí),用戶也可以再回到 home 屏然后選擇任務(wù)B的應(yīng)用于是回到任務(wù)B ( 或通過長按 Home 按鈕以顯示最近的任務(wù)然后選擇它 )

注: 多個(gè)任務(wù)可以同時(shí)存在于后臺(tái).然而,如果用戶在同一時(shí)刻運(yùn)行多個(gè)后臺(tái)任務(wù),系統(tǒng)可能會(huì)銷毀后臺(tái) activitie 來釋放內(nèi)存,從而導(dǎo)致 activity 狀態(tài)的丟失.

  因?yàn)楹笸藯V械? activitie 從不會(huì)被重排,如果你的應(yīng)用允許用戶從不只一個(gè) activity 啟動(dòng)一個(gè)特殊的 activity ,一個(gè)新的 activity 的實(shí)例會(huì)被創(chuàng)建并壓入棧中 ( 而不是把這個(gè) activity 的當(dāng)前實(shí)例弄到前臺(tái)來 ) .所以,你的應(yīng)用中的一個(gè) activity 可能被多次實(shí)例化 ( 甚至是從不同的任務(wù) ) ,如圖 3 所示 . 同樣的,如果用戶使用后退按鈕向后導(dǎo)航, activity 的每個(gè)實(shí)例都會(huì)按照打開的順序重新顯現(xiàn) ( 每個(gè)都保持它們自己的狀態(tài) ) .然后,你如果不想某個(gè) activity 被實(shí)例化多次,你可以改變這種行為.后面會(huì)講到如何做.


Android task和back stack詳解一:概述

3 .一個(gè) activity 被實(shí)例化多次.


下面總結(jié)一下下 activity 和任務(wù)的默認(rèn)行為:

  • 當(dāng) ActivityA 啟動(dòng) ActivityB ActivityA 停止,但是系統(tǒng)保存它的狀態(tài) ( 比如滾動(dòng)條的位置和表單中輸入的文本 ) .如果用戶在 Activity B 中按下了后退按鈕, ActivityA 以保 存的狀態(tài)恢復(fù).

  • 當(dāng)用戶按下 Home 按鈕離開了一個(gè)任務(wù),當(dāng)前的 activity 停止同時(shí)它的任務(wù)進(jìn)入后臺(tái).系統(tǒng)保持任務(wù)中每個(gè) activity 的狀態(tài).如果用戶后來運(yùn)行了這個(gè)任務(wù)的應(yīng)用而恢復(fù)了這個(gè)任務(wù),任務(wù)回到前臺(tái)并使棧頂端的 activity 恢復(fù).

  • 如果用戶按下了后退按鈕,當(dāng)前的 activity 從棧中彈出并被銷毀.前一個(gè) activity 被恢復(fù).當(dāng)一個(gè) activity 被銷毀時(shí),系統(tǒng)不再保持 activity 的狀態(tài).

  • Activitie 可以被多次實(shí)例化,即使是從另外的任務(wù).







Android task和back stack詳解一:概述


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 国产乱码精品一区二区三区中文 | 精品一二区 | 99久久精品国产一区二区三区 | 亚欧乱色视频小说 | 一级毛片播放 | 亚洲精品国产偷自在线观看 | 国产h视频在线观看高清 | 高清在线不卡 | 免费观看日本a毛片 | 国产WW久久久久久久久久 | 91视频综合网| 亚洲成a人片77777在线播放 | 欧美日韩综合精品 | 成人欧美一区二区三区在线观看 | 欧美日韩精品一区二区在线播放 | 天天做天天爱天天大综合 | 奇米第四色网站 | 特级丰满少妇一级aaaa爱毛片 | 美腿丝袜亚洲综合 | 亚洲自偷自偷精品 | 超碰一区 | 国产精品五区 | 国产精品人妻一区夜夜爱 | 亚洲xx站| 久久国产精品99久久小说 | 奇米视频在线 | 成人综合激情 | 国产精品1区2区3区 国产成人aaa在线视频免费观看 | 女人被添全过程A片久久AV | 一区二区三区四区视频 | 亚洲视频中文字幕 | 日本国产欧美 | 日本黄色视屏 | 久久久综合九色合综国产 | 天天爱天天爽 | 免费观看性欧美一级 | 超碰欧美 | 91文字幕巨乱亚洲香蕉 | 国产精品国产精品国产专区不卡 | 自拍偷拍视频网站 | 亚色中文 |