本文小編為大家詳細介紹“Android的狀態(tài)有什么用”,內(nèi)容詳細,步驟清晰,細節(jié)處理妥當(dāng),希望這篇“Android的狀態(tài)有什么用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。
成都創(chuàng)新互聯(lián)主要業(yè)務(wù)有網(wǎng)站營銷策劃、成都網(wǎng)站設(shè)計、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司、微信公眾號開發(fā)、微信小程序定制開發(fā)、HTML5建站、程序開發(fā)等業(yè)務(wù)。一次合作終身朋友,是我們奉行的宗旨;我們不僅僅把客戶當(dāng)客戶,還把客戶視為我們的合作伙伴,在開展業(yè)務(wù)的過程中,公司還積累了豐富的行業(yè)經(jīng)驗、成都全網(wǎng)營銷資源和合作伙伴關(guān)系資源,并逐漸建立起規(guī)范的客戶服務(wù)和保障體系。
狀態(tài)可以有一個入口行為。如果定義了這個行為,每當(dāng)通過外部遷移進入狀態(tài)的時候它就會被執(zhí)行。另外,狀態(tài)也可以有一個關(guān)聯(lián)的退出行為,如果被定義了這個行為,每當(dāng)狀態(tài)退出的時候它就會被執(zhí)行。
狀態(tài)也可以擁有一個doActivity行為。這個行為在狀態(tài)進入時開始執(zhí)行(但必須在狀態(tài)入口行為執(zhí)行結(jié)束之后)并且和其他任何與狀態(tài)關(guān)聯(lián)的行為同時執(zhí)行。直到:
· it completes (in which case a completion event is generated) or
它自己結(jié)束了(這種情況下會生成一個完了事件)
· the State is exited, in which case execution of the doActivity Behavior is aborted.
狀態(tài)退出了,這種情況下doActivity行為的執(zhí)行被中斷。
The execution of a doActivity Behavior of a State is not affected by the firing of an internal Transition of that State.
狀態(tài)的doActivity行為的執(zhí)行不會被狀態(tài)的內(nèi)部遷移觸發(fā)。
歷史狀態(tài)
歷史狀態(tài)的概念是被DavidHarel引入到原始的狀態(tài)圖體系中來的。這是一個與組合狀態(tài)中區(qū)域有關(guān)的便利的概念,通過這個概念一個區(qū)域可以保持自己前一次退出時的狀態(tài)構(gòu)成的痕跡。如果愿意,就可以以一種容易的方式在下次狀態(tài)被激活,或者存在一個返回歷史狀態(tài)的局部遷移時恢復(fù)到同樣的狀態(tài)構(gòu)成(例如從中斷處理返回)。這可以通過使遷移終止于一個區(qū)域中的希望類型的歷史偽狀態(tài)而簡單地完成。這種方式的優(yōu)點在于,當(dāng)用戶有需求時不需要準(zhǔn)確地保持狀態(tài)構(gòu)成的痕跡。結(jié)果就是更加簡單的狀態(tài)機模型。
有兩種類型的歷史偽狀態(tài)。深歷史(deepHistory)代表的是包含它的區(qū)域的完整的狀態(tài)構(gòu)成。其效果使終止于deepHistory歷史偽狀態(tài)的遷移產(chǎn)生的效果等同于如同遷移終止于被保存的狀態(tài)構(gòu)成的最里層中的某個子狀態(tài),也包括沿途遇到的所有入口行為的執(zhí)行。淺歷史(shallowHistory)代表的是返回最近狀態(tài)構(gòu)成的最上層子狀態(tài),進入時適用于缺省的進入規(guī)則。
有一種情況,狀態(tài)沒有被進入過(即不存在之前的歷史)或者已經(jīng)到達了終止?fàn)顟B(tài),如果存在與終止于歷史偽狀態(tài)上的遷移,可以使用缺省歷史機制使之強制遷移到一個特定的子狀態(tài)。這是一個起始于歷史偽狀態(tài),終止于包含該歷史偽狀態(tài)的區(qū)域中的一個特定頂點(缺省歷史狀態(tài))的遷移。這個遷移只有執(zhí)行到歷史偽狀態(tài)而且狀態(tài)從來沒有被激活過的情況下才會發(fā)生。否則進入?yún)^(qū)域的適當(dāng)?shù)臍v史入口行為將被執(zhí)行(見上文)。如果沒有定義缺省的歷史遷移,那么標(biāo)準(zhǔn)的區(qū)域缺省入口行為會像后面將要解釋的那樣被執(zhí)行。
延期事件
狀態(tài)可以定義一套在該狀態(tài)中被延遲的時間類型。這意味著只要狀態(tài)維持活動,那些類型的事件就不會發(fā)生,直到:
一個狀態(tài)構(gòu)成到達了這些事件類型不在被延遲的位置。
如果一個延遲事件被明確地用在了以延遲狀態(tài)(一種覆蓋選項)為源的遷移的觸發(fā)條件中。
一個事件可以被組合狀態(tài)或子狀態(tài)機狀態(tài)延遲,只要組合狀態(tài)仍處于活動的狀態(tài)構(gòu)成中,它就繼續(xù)被延遲。
讀到這里,這篇“Android的狀態(tài)有什么用”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享文章:Android的狀態(tài)有什么用
標(biāo)題網(wǎng)址:http://aaarwkj.com/article30/jessso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、靜態(tài)網(wǎng)站、網(wǎng)頁設(shè)計公司、品牌網(wǎng)站制作、網(wǎng)站導(dǎo)航、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)