專利名稱:移動設(shè)備上的任務(wù)切換的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動設(shè)備上的任務(wù)切換。
背景技術(shù):
移動設(shè)備的用戶將應(yīng)用切換到前臺。一些移動設(shè)備提供用于在最近使用的應(yīng)用之間切換的接口。例如,用戶可使用“后退”按鈕來在用戶的應(yīng)用中導(dǎo)航。這種技術(shù)是低效的,因?yàn)椴粌H是用戶需要記住哪些應(yīng)用最近被使用過以便知曉“后退”按鈕是否將到達(dá)所需應(yīng)用,而且該技術(shù)不向用戶提供用于恢復(fù)執(zhí)行超出幾個后退按鈕按壓之外的應(yīng)用的快速方式。此外,在恢復(fù)執(zhí)行應(yīng)用與在新鮮狀態(tài)中啟動應(yīng)用之間沒有明顯的差別。用戶提供選擇機(jī)會。
發(fā)明內(nèi)容
提供本發(fā)明內(nèi)容以便以簡化形式介紹將在以下的具體實(shí)施例中進(jìn)一步描述的一些代表性概念。本發(fā)明內(nèi)容不旨在標(biāo)識出所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在以限制所要求保護(hù)的主題的范圍的任何方式來使用。簡言之,本文中描述的主題的各方面涉及一種技術(shù),藉由該技術(shù),任務(wù)切換器提供供用戶查看先前的應(yīng)用的任務(wù)并在其間進(jìn)行導(dǎo)航,以及任意地切換至任何所選任務(wù)的直接了當(dāng)?shù)臋C(jī)制。一般而言,應(yīng)用(或諸如操作系統(tǒng)組件之類的其他程序)可包括一個或多個任務(wù),諸如具有郵件任務(wù)、日歷任務(wù)、和聯(lián)系人任務(wù)的電子郵件應(yīng)用,或者具有關(guān)于每個加標(biāo)簽頁面的任務(wù)的瀏覽器程序。在一個方面,任務(wù)切換器(例如,程序)可通過用戶動作(例如,響應(yīng)于用戶請求)來調(diào)用,并從數(shù)據(jù)結(jié)構(gòu)(例如,堆棧)獲得信息。數(shù)據(jù)結(jié)構(gòu)包含與先前在計(jì)算設(shè)備上執(zhí)行的任務(wù)集合中的每個任務(wù)相關(guān)聯(lián)的信息(狀態(tài)數(shù)據(jù))。任務(wù)切換器使用該信息來向任務(wù)切換器的用戶界面輸出每個任務(wù)的表示(例如,具有伴隨文本的屏幕截圖)。經(jīng)由用戶界面,用戶可在任務(wù)表示之間導(dǎo)航和/或任意地選擇集合中的任何任務(wù)來恢復(fù)執(zhí)行該任務(wù)。例如,應(yīng)用可被重新啟動,且保存在堆?;蚱渌胤降臓顟B(tài)信息被用來在其相對應(yīng)的應(yīng)用中恢復(fù)執(zhí)行任務(wù)。在一個方面,維護(hù)與多個任務(wù)相關(guān)聯(lián)的信息,且每個任務(wù)對應(yīng)于先前作為前臺應(yīng)用執(zhí)行的應(yīng)用程序。任務(wù)切換器使用所維護(hù)的信息來將每個任務(wù)的表示輸出到交互式用戶界面。任務(wù)切換器檢測與用戶選擇任務(wù)表示中的一個作為所選任務(wù)相對應(yīng)的用戶交互(例如,用戶導(dǎo)航和選擇),并采取動作來通過在對應(yīng)于所選任務(wù)的狀態(tài)中恢復(fù)執(zhí)行應(yīng)用來切換至所選任務(wù)。在一個方面,堆棧被更新以在用另一應(yīng)用的任務(wù)替代執(zhí)行的任務(wù)之前保存關(guān)于執(zhí)行的任務(wù)的信息。維護(hù)堆??砂◤亩褩a尫帕硪蝗蝿?wù)的數(shù)據(jù)以提供存儲器空間來保存關(guān)于執(zhí)行的任務(wù)的信息,和/或過濾掉重復(fù)的任務(wù)的數(shù)據(jù)。在一個方面,描述了用于呈現(xiàn)與先前執(zhí)行的應(yīng)用的任務(wù)相對應(yīng)的任務(wù)數(shù)據(jù)的堆棧的視圖的技術(shù),其中該視圖包括在堆棧中具有任務(wù)數(shù)據(jù)的任務(wù)的可視表示。一旦檢測到導(dǎo)航至特定任務(wù)表示的與視圖的交互,以及檢測到選擇所選任務(wù)的交互,可恢復(fù)執(zhí)行所選任務(wù)的執(zhí)行。結(jié)合附圖閱讀以下具體實(shí)施方式
,本發(fā)明的其他優(yōu)點(diǎn)會變得顯而易見。
作為示例而非限制,在附圖中示出了本發(fā)明,附圖中相同的附圖標(biāo)記指示相同或相似的元素,附圖中圖I是表示用來執(zhí)行任務(wù)之間的任務(wù)切換的示例組件的框圖。圖2是用戶可在其間進(jìn)行導(dǎo)航并選擇來在設(shè)備上恢復(fù)執(zhí)行的任務(wù)的示例表示。圖3是表示用在任務(wù)切換系統(tǒng)的一個實(shí)現(xiàn)中的示例組件的框圖。圖4是示出與包括所捕捉的屏幕圖像在內(nèi)的信息如何被獲得并被維護(hù)在任務(wù)切換系統(tǒng)中有關(guān)的操作的示例時序/數(shù)據(jù)流示圖。圖5是示出與調(diào)用任務(wù)切換器有關(guān)的操作的時序/數(shù)據(jù)流示圖。圖6是表示其中可實(shí)現(xiàn)在此處所描述的各實(shí)施例的一個或多個方面的示例性、非限制性計(jì)算系統(tǒng)或操作環(huán)境的框圖,例如,在移動電話設(shè)備的例子中。
具體實(shí)施例方式本文中所描述的技術(shù)的各方面一般涉及用于恢復(fù)執(zhí)行用戶曾在移動設(shè)備上執(zhí)行的先前任務(wù)(諸如移動電話上的任務(wù))的可靠且簡單的技術(shù)。如將理解的,切換“任務(wù)”比切換應(yīng)用更加靈活且強(qiáng)大;任務(wù)的示例包括(例如,同一電子郵件應(yīng)用內(nèi)的)聯(lián)系人卡、電子郵件草稿、日歷約會;瀏覽器網(wǎng)頁選項(xiàng)卡等。但是,應(yīng)用可包括單個任務(wù)。為此,在設(shè)備上提供了任務(wù)切換器,該任務(wù)切換器向用戶提供可靠且快速地恢復(fù)執(zhí)行或完成先前開始的任務(wù)的能力。任務(wù)切換器(在一個實(shí)現(xiàn)中其包括具有伴隨用戶界面(UI)的程序)向用戶示出了用戶的任務(wù)保留的狀態(tài),以使得用戶可容易地標(biāo)識所需任務(wù)以恢復(fù)執(zhí)行。本文中還例示了用于示出任務(wù)的最后狀態(tài)(伴隨有其名字)的一個示例視覺設(shè)計(jì),其例如提供了相對于應(yīng)用圖標(biāo)的益處和優(yōu)點(diǎn)。應(yīng)當(dāng)理解,此處的任何示例均是非限制性的。因此,本發(fā)明不限于在此描述的任何具體的實(shí)施例、方面、概念、結(jié)構(gòu)、功能或示例。相反,此處所描述的實(shí)施例、方面、概念、結(jié)構(gòu)、功能或示例中的任一個都是非限制性的,并且本發(fā)明一般能夠以在計(jì)算和應(yīng)用/任務(wù)切換方面提供好處和優(yōu)點(diǎn)的各種方式來使用。圖I是示出用于在任務(wù)之間切換的各種示例組件(包括任務(wù)切換器102)的一般化框圖,其中應(yīng)用具有由應(yīng)用開發(fā)人員定義的、為其指定的一個或多個任務(wù)。例如,諸如計(jì)算器之類的應(yīng)用可僅具有一個任務(wù),而諸如Microsoft Outlook之類的應(yīng)用可具有郵件任務(wù)、日歷任務(wù)、聯(lián)系人任務(wù)等。一般而言,多個應(yīng)用任務(wù)KM1-KMn可在不同的時間在設(shè)備的前臺中運(yùn)行。每次應(yīng)用任務(wù)的新的實(shí)例(稱為會話)被運(yùn)行時,操作系統(tǒng)106就將與先前任務(wù)有關(guān)的信息保存到后堆棧108??芍T如通過僅允許添加任務(wù)/會話的一個實(shí)例來執(zhí)行過濾,以例如避免將重復(fù)的任務(wù)添加到后堆棧。后堆棧108包括數(shù)據(jù)結(jié)構(gòu)(例如,在存儲器中),該數(shù)據(jù)結(jié)構(gòu)維護(hù)關(guān)于所保存的任務(wù)的信息以及恢復(fù)執(zhí)行任務(wù)所需的信息。例如,后堆棧108可包括對象列表,其中每個對象包含關(guān)于所保存的任務(wù)的數(shù)據(jù)(和/或?qū)υ摂?shù)據(jù)的引用),諸如以提供在保存時捕捉的任務(wù)的屏幕截圖、應(yīng)用的名稱、任務(wù)狀態(tài)數(shù)據(jù)等。對象的數(shù)目可被限制(例如,通過默認(rèn)或用戶配置),以便使所維護(hù)的任務(wù)的數(shù)目對于用戶而言保持實(shí)用,以及控制存儲器使用;因而,將新的任務(wù)添加到后堆棧移除了最舊的任務(wù)。如本文中所描述的,后堆棧可被用來維護(hù) (或?qū)⒅羔樢玫?與所維護(hù)的一個或多個任務(wù)的集合有關(guān)的屏幕截圖和/或其他元數(shù)據(jù)。通過使用任務(wù)切換器,用戶可導(dǎo)航至后堆棧中的任何會話(并且不按指定次序)。這不會打斷會話內(nèi)的導(dǎo)航。注意后堆棧按時間順序維護(hù)任務(wù),然而用戶可導(dǎo)航至任何任務(wù),并由此使此任務(wù)成為最新的任務(wù),而其他任務(wù)在該最新的任務(wù)之后保持同樣的次序。一般而言,包括按鈕等的任務(wù)切換器激活機(jī)制110由操作系統(tǒng)106的合適的部分來檢測,操作系統(tǒng)106調(diào)用任務(wù)切換器102。任務(wù)切換器102可按任何合適的方式來啟動,諸如在一個實(shí)現(xiàn)中,其中任務(wù)切換器102可經(jīng)由對硬件后退按鈕上的長時間按壓來啟動。當(dāng)被調(diào)用時,任務(wù)切換器(例如,連同操作系統(tǒng)106)例如通過將該任務(wù)的數(shù)據(jù)添加到后堆棧108來捕捉在用戶離開任務(wù)之前該任務(wù)的最后狀態(tài)。注意,但是,在離開任務(wù)切換器102時,關(guān)于任務(wù)切換器102的數(shù)據(jù)無需被添加到后堆棧108。任務(wù)切換器102以某一合適的方式將所捕捉的任務(wù)狀態(tài)的每一個顯示為視圖112,諸如如圖2中一般地表示的那樣從左到右地排序,例如,其中左邊的任務(wù)的最舊的任務(wù),而右邊的任務(wù)是最新的任務(wù)。在一個視圖中,每次僅示出一個任務(wù),如由虛線“視圖”框212表示的,并且用戶可經(jīng)由交互/選擇機(jī)制114(圖I)水平地平掃(如箭頭所表示的)以找到先前或稍后的任務(wù),并且能對當(dāng)前所示的任務(wù)作出選擇。在另一視圖中,用戶可同時看到多個任務(wù),并經(jīng)由交互/選擇機(jī)制114挑選一個,諸如通過輕叩任務(wù)的屏幕捕捉圖像。因而,用戶可經(jīng)由任何任務(wù)的所顯示的表示對該任務(wù)作出任意選擇來恢復(fù)執(zhí)行,而無需以順序的次序恢復(fù)執(zhí)行。用戶還可在沒有作出任何選擇的情況下進(jìn)行取消,由此在用戶調(diào)用任務(wù)切換器時運(yùn)行的任務(wù)恢復(fù)執(zhí)行。如可容易理解的,實(shí)際上,在服從實(shí)際屏幕尺寸限制的情況下,具有恰當(dāng)?shù)倪x擇機(jī)制的任何視圖是可行的。此外,作為屏幕捕捉的替代或補(bǔ)充,可提供任務(wù)的某一其他表示,連同可能的附加文本(例如,時戳)、圖形、動畫、視頻等。注意,多任務(wù)化允許應(yīng)用即使在它們并非處在前臺中時也繼續(xù)工作,包括經(jīng)由允許用戶在前向方向中導(dǎo)航以及允許每次一頁的后退導(dǎo)航的任務(wù)模型。為了將先前使用的應(yīng)用快速恢復(fù)到前臺,任務(wù)切換器允許用戶開始查看后堆棧中維護(hù)的應(yīng)用任務(wù)(例如,用戶界面)并在這些應(yīng)用任務(wù)中導(dǎo)航。
轉(zhuǎn)到一個示例實(shí)現(xiàn)的附加細(xì)節(jié),長時間按壓后退硬件按鈕超過閾值時間(例如,按下并保持按鈕按壓的持續(xù)時間大約為800ms)啟動任務(wù)切換器UI,UI包括后堆棧中的會話,這些會話各自由會話的最后頁的屏幕捕捉(如圖2中一般表示的)來表示。在此實(shí)現(xiàn)中,屏幕捕捉是按從左到右排序的,且最近的在最右邊。Π水平地平掃。在屏幕捕捉上進(jìn)行輕叩恢復(fù)執(zhí)行該頁上相對應(yīng)的會話,即,圖2中的每個屏幕捕捉表示用戶可通過在其屏幕捕捉上進(jìn)行輕叩來恢復(fù)執(zhí)行的任務(wù)。漸變動畫可被用于任何屏幕圖像改變,并且背景可使用當(dāng)前特征主題顏色。會話被按次序添加,例如,由此最近的會話是最右邊的屏幕捕捉。任務(wù)切換器以視圖中最右邊的屏幕截圖啟動。在一個實(shí)現(xiàn)中,任務(wù)切換器不記 得其滾動過的狀態(tài),以便一致地提供可預(yù)測的默認(rèn)視圖。當(dāng)從任務(wù)切換器恢復(fù)執(zhí)行會話時,可使該會話從其當(dāng)前位置移至最右邊的位置,來作為最近的會話。短時間按壓“后退”在當(dāng)前會話內(nèi)進(jìn)行導(dǎo)航。后堆棧的行為不改變。在一個實(shí)現(xiàn)中,開始屏幕不在任務(wù)切換器中示出,并且用于達(dá)到“開始”的唯一方式是經(jīng)由“開始”硬件按鈕。任務(wù)切換器使用屏幕捕捉,以供用戶標(biāo)識他或她希望恢復(fù)執(zhí)行的任務(wù)。會話的最后頁的屏幕捕捉被用于表示會話。屏幕捕捉可包括瞬時Π類提醒、警報(bào)和消息框。為了幫助用戶更好地標(biāo)識任務(wù),一個實(shí)現(xiàn)可在屏幕捕捉下方顯示相對應(yīng)的應(yīng)用名稱。在電話鎖定(或者由用戶手動或者在超時之后自動地鎖定)之后,可摒棄(dismiss)任務(wù)切換器。其在鎖定屏幕上不起作用。當(dāng)任務(wù)切換器是處在前臺中且傳入呼叫UI出現(xiàn)時,任務(wù)切換器待在呼叫UI后面,以使得用戶可在處置傳入呼叫之后繼續(xù)任務(wù)。傳入呼叫UI的行為不改變。關(guān)于任務(wù)切換器的示例硬盤按鈕
按鈕I開始 ~摒棄任務(wù)切換器并啟動“開始”
后退摒棄任務(wù)切換器
搜索摒棄任務(wù)切換器并啟動“搜索”
音量在任務(wù)切換器上起作用 電源摒棄任務(wù)切換器并鎖定電話 Hl摒棄任務(wù)切換器并啟動“相機(jī)”當(dāng)任務(wù)切換器中沒有會話時,一個實(shí)現(xiàn)可示出“開始”的屏幕捕捉。當(dāng)被輕叩時,“開始”被帶入前臺。這樣,用戶永遠(yuǎn)不會在任務(wù)切換器中陷入僵局。由于一個目標(biāo)是呈現(xiàn)文字的后堆棧,瀏覽器中的每個選項(xiàng)卡可示為任務(wù)切換器中的個體會話。圖3示出了示例體系結(jié)構(gòu)版本的附加細(xì)節(jié)(對于類似或相似的組件,帶有標(biāo)示3xx,而非lxx),其中任務(wù)切換器302可以是殼(shell)的Chrome的部分并由此可駐留在殼框架330 (例如,ShellFrame. dll)中。注意如果任務(wù)切換器改為是的單獨(dú)的應(yīng)用,則將其形成為常規(guī)應(yīng)用會迫使后堆棧108(對應(yīng)于圖3中的頁堆棧308)的另一應(yīng)用關(guān)閉,這通常并非是合意的。因而,任務(wù)切換器302可被保持在殼框架330中,以避免當(dāng)任務(wù)切換器302啟動時從后堆棧/頁堆棧308移除應(yīng)用。另外,處置相對于例如鎖定屏幕、ARD等其他Chrome組件的任務(wù)切換器UI的z次序可能較為容易(因?yàn)闅た蚣?30處置頂層z次序策略)。任務(wù)切換器可以是系統(tǒng)Chrome的部分,并且在z次序中處于相對較低的次序,由此當(dāng)在先前前臺應(yīng)用上啟動任務(wù)切換器時,該先前前臺應(yīng)用接收遮擋消息。而且處于殼框架330內(nèi)可便于任務(wù)切換器與應(yīng)用之間的自定義轉(zhuǎn)換。在圖3中一般表示的一個實(shí)現(xiàn)中,應(yīng)用的頁面的屏幕截圖是每次用戶等向前導(dǎo)航至新會話或新的子任務(wù)時捕捉的;注意屏幕圖像的任何部分不是應(yīng)用的部分(例如,彈出“吐司(toast)”消息)可能不被包括在捕捉中。更具體地,在一個實(shí)現(xiàn)中,調(diào)用可以是從frame_server (框架 _ 服務(wù)器)的 Page:: SendOnHideRequest O API 內(nèi)作出的。此 API 由正被導(dǎo)航至但處于telshell的進(jìn)程空間內(nèi)的應(yīng)用(例如,從應(yīng)用到frame_server的PSL調(diào) 用)來執(zhí)行。如圖4的時序/序列示圖中表示的,屏幕捕捉(BITMAP(位圖))可通過調(diào)用由合成器展示的CaptureScreen(捕捉屏幕)API來獲得。一旦獲得,指向HBITAMP的句柄可被寫入消息隊(duì)列。在telshell中運(yùn)行的背景線程(例如,任務(wù)切換器的背景線程)可消費(fèi)此HBITMAP,將其StretchBlt至合適的大小(例如,259*439)并在隨后將其轉(zhuǎn)換成IUIXImage0背景線程可維持至多達(dá)n(例如,5)個此類inXImage以及其相應(yīng)的SessionId(會話Id)的列表。當(dāng)請求是針對n+1 (例如,第6個)圖像而進(jìn)來時,線程可查詢Frame_Server 336以獲得活躍會話列表,并重寫(釋放并重新分配)與已離開后堆棧/頁堆棧308的會話相對應(yīng)的圖像。注意在一個實(shí)現(xiàn)中,由于分配大于16K,因此這些可以是虛擬分配,由此存儲器碎片不是問題。注意一個實(shí)現(xiàn)可示出與會話相關(guān)聯(lián)的一頁。結(jié)果,如果用戶導(dǎo)航至子任務(wù),則一個實(shí)現(xiàn)可用該子任務(wù)的屏幕截圖重寫父任務(wù)的屏幕截圖。返回到圖I和2,任務(wù)切換器102可恰在每個屏幕截圖之下示出應(yīng)用的(本地化)標(biāo)題(圖2)??商峁〢PI等,供任務(wù)切換器102恢復(fù)執(zhí)行應(yīng)用的會話(一旦用戶已選擇UI),而不用管應(yīng)用的激活策略。任務(wù)切換器用戶界面示出了處于后堆棧108上的每個會話的最上頁的屏幕截圖。為了知曉哪些會話當(dāng)前處在后堆棧上,可例如經(jīng)由API對frame_server336(圖3)進(jìn)行查詢。為了獲得應(yīng)用的本地化標(biāo)題,一個實(shí)現(xiàn)可將ProductId(產(chǎn)品Id)傳遞給包管理器,其中ProductId是可使用與從DumpTask(堆任務(wù))獲得的列表中的任務(wù)相關(guān)聯(lián)的友好名稱(或者如果友好名稱不存在,則為TaskURI (任務(wù)URI))來獲得的。注意雖然DumpTask給出SessionId(會話Id),但是一個實(shí)現(xiàn)可能需要依賴于從TestHook_GetPageStackContainerList API 獲得的 PAGESTACKCONTAINERDESC 信息,因?yàn)樾枰軌騾^(qū)分處在后堆棧108上的會話與不處于后堆棧108上但尚未被毀掉的那些會話。在圖像的存儲器大小中,一個實(shí)現(xiàn)可(在調(diào)整大小之后)捕捉454KB (439*259*4)的圖像數(shù)據(jù)。一個實(shí)現(xiàn)可在給定時間加載η個此類圖像(例如,η可以為5,由此消耗大致
2.2ΜΒ),然而,其他實(shí)現(xiàn)可具有不同數(shù)目的η個圖像,這取決于圖像大小和可用存儲器。還注意維度服從改變,例如,取決于是否由于調(diào)整大小而造成邊框和線條的UI偽像。一個實(shí)現(xiàn)在任務(wù)切換器活躍的同時刷新圖像。這可通過將原始比特(即,IUIXImage)傳遞給啟動(splash)(內(nèi)部實(shí)現(xiàn))應(yīng)用340。這導(dǎo)致啟動應(yīng)用為圖像分配兩個緩沖區(qū),一個包括原始緩沖區(qū)而第二個包括由渲染器使用的DX紋理。如以上所描述且在圖5的時序示圖中表示的,為了調(diào)用任務(wù)切換器102,用戶可壓下并保持后退按鈕。這可通過在telshell中活躍的關(guān)鍵句柄線程來檢測。關(guān)鍵句柄線程隨后可對ShellFrame作出經(jīng)延遲的調(diào)用,即,終止對ShellFrame的UI線程的執(zhí)行,這可發(fā)起任務(wù)切換器的調(diào)用進(jìn)程。調(diào)用進(jìn)程可包括拍攝當(dāng)前可見應(yīng)用UI的屏幕截圖,并形成任務(wù)切換器UI。在一個實(shí)現(xiàn)中,由合成器展示的CaptureScreen(捕捉屏幕)API有時花費(fèi)的時間超過IOOms —點(diǎn)。由于不能在比IOOms更長的時間內(nèi)阻塞UI線程,因此UI線程可能不處理所所獲得的HBITMAP,而是替代地可將此放入消息隊(duì)列以供后臺線程來處理。UI線程 可在任務(wù)切換器Π中示出某一類型的臨時“加載”屏幕。當(dāng)后臺線程獲得通知Π將出現(xiàn)(例如,通過指定事件或由UI線程插入到隊(duì)列中的被標(biāo)記為“警報(bào)”的消息)時,該后臺線程可查詢frame_server以獲得當(dāng)前活躍的會話的列表并用恰當(dāng)?shù)腎UIXImage填充UI。一旦用戶選擇他或她希望導(dǎo)航至的會話UI (例如,通過點(diǎn)擊恰當(dāng)?shù)钠聊唤貓D),任務(wù)切換器就可調(diào)用frame_server 336,來請求其重新激活用戶選擇的任務(wù)。在一個實(shí)現(xiàn)中,可被使用的API是PageManager: :ReActivateSession ()。由于當(dāng)存在η個以上的圖像以及當(dāng)任務(wù)切換器UI出現(xiàn)時frame_server 336被查詢,因此可能無需向一個實(shí)現(xiàn)顯式地通知任務(wù)/會話何時離開。由此,向用戶和開發(fā)人員提供了簡單的導(dǎo)航模型。一般而言,從“開始”啟動應(yīng)用使用戶進(jìn)行應(yīng)用的默認(rèn)體驗(yàn),而從任務(wù)切換器102啟動應(yīng)用(例如,經(jīng)由后退硬件按鈕)使應(yīng)用恢復(fù)到用戶離開其的狀態(tài)。關(guān)于多任務(wù)化,模型創(chuàng)建了可代表應(yīng)用執(zhí)行任務(wù)的數(shù)個后臺服務(wù)。這些服務(wù)有效地使得應(yīng)用即使在未處在前臺中時也能繼續(xù)工作。此外,先前使用的應(yīng)用可適度快速地回到前臺。與快速應(yīng)用恢復(fù)執(zhí)行組合的多任務(wù)化改進(jìn)了用戶在多個應(yīng)用之間切換以完成任務(wù)的能力。 盡管后退按鈕提供對最后使用的應(yīng)用的便利訪問,跳轉(zhuǎn)到比一個后退按壓更遠(yuǎn)的先前應(yīng)用不是一個高效方法。因而,任務(wù)切換器提供了幫助用戶恢復(fù)執(zhí)行和完成先前的任務(wù)的更高效方式。因而,提供了從任何位置對任務(wù)切換器的簡單且可靠的訪問。任務(wù)切換器示出了先前打開的任務(wù),并且允許用戶啟動先前的任務(wù)。啟動任務(wù)將其會話移至后堆棧的頂部。盡管本發(fā)明易于作出各種修改和替換構(gòu)造,但其某些說明性實(shí)施例在附圖中示出并在上面被詳細(xì)地描述。然而應(yīng)當(dāng)了解,這不旨在將本發(fā)明限于所公開的具體形式,而是相反地,旨在覆蓋落入本發(fā)明的精神和范圍之內(nèi)的所有修改、替換構(gòu)造和等效方案。示例性操作環(huán)境圖6示出可在其上實(shí)現(xiàn)此處所描述的主題的各方面的合適的移動設(shè)備600的示例。移動設(shè)備600僅為設(shè)備的一個示例,并非旨在對此處所描述的主題的各方面的使用范圍或功能提出任何限制。移動設(shè)備600也不應(yīng)被解釋成對于在示例性移動設(shè)備600中所示出的任一組件或其組合有任何依賴或要求。參考圖6,用于實(shí)現(xiàn)此處所述的主題的各方面的示例性設(shè)備包括移動設(shè)備600。在一些實(shí)施例中,移動設(shè)備600包括蜂窩電話、允許與其他手持設(shè)備的語音通信的手持設(shè)備、某一其他語音通信設(shè)備等。在這些實(shí)施例中,移動設(shè)備600可配備用于拍攝照片的相機(jī),雖然這在其他實(shí)施例中可能不是必需的。在其他實(shí)施例中,移動設(shè)備600包括個人數(shù)字助理(PDA),手持式游戲設(shè)備,筆記本計(jì)算機(jī),打印機(jī),包括機(jī)頂盒、媒體中心或其他電器等的電器,其他移動設(shè)備等。在又一些實(shí)施例中,移動設(shè)備600可包括通常被認(rèn)作非移動的設(shè)備,如個人計(jì)算機(jī)、服務(wù)器等。移動設(shè)備600的組件可以包括但不限于,處理單元605、系統(tǒng)存儲器610和將包括系統(tǒng)存儲器610在內(nèi)的各種系統(tǒng)組件耦合至處理單元605的總線615??偩€615可包括幾種類型的總線結(jié)構(gòu)中的任何一種,包括存儲器總線、存儲控制器、外圍總線、以及使用各種總線體系結(jié)構(gòu)中的任一種的局部總線等??偩€615允許在移動設(shè)備600的各種組件之間傳 送數(shù)據(jù)。移動設(shè)備600可以包括各種計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是能由移動設(shè)備600訪問的任何可用介質(zhì),而且包含易失性和非易失性介質(zhì)以及可移動、不可移動介質(zhì)。作為示例而非限制,計(jì)算機(jī)可讀介質(zhì)可包括計(jì)算機(jī)存儲介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲介質(zhì)包括以用于存儲諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)等信息的任意方法或技術(shù)來實(shí)現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。計(jì)算機(jī)存儲介質(zhì)包括但不限于,RAM、ROM、EEPR0M、閃存或其他存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其他光盤存儲、磁帶盒、磁帶、磁盤存儲或其他磁存儲設(shè)備、或者可用于存儲所需信息并且可由移動設(shè)備600訪問的任何其他介質(zhì)。通信介質(zhì)通常以諸如載波或其他傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號來體現(xiàn)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù),并包括任何信息傳送介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號”是指具有以在信號中編碼信息的方式被設(shè)定或改變其一個或多個特征的信號。作為示例而非限制,通信介質(zhì)包括有線介質(zhì),諸如有線網(wǎng)絡(luò)或直接線連接,以及無線介質(zhì),諸如聲學(xué)、RF、藍(lán)牙 、無線USB、紅外、WiFi、WiMAX、和其他無線介質(zhì)。上述的任意組合也應(yīng)包含在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。系統(tǒng)存儲器610包括易失性和/或非易失性存儲器形式的計(jì)算機(jī)存儲介質(zhì),且可包括只讀存儲器(ROM)和隨機(jī)存取存儲器(RAM)。在諸如蜂窩電話等移動設(shè)備上,操作系統(tǒng)代碼620有時被包括ROM中,雖然在其他實(shí)施例中,這不是必需的。類似地,應(yīng)用程序625通常位于RAM中,但同樣在其他實(shí)施例中,應(yīng)用程序可位于ROM中或其他計(jì)算機(jī)可讀存儲器中。堆630提供用于與操作系統(tǒng)620和應(yīng)用程序625相關(guān)聯(lián)的狀態(tài)的存儲器。例如,操作系統(tǒng)620和應(yīng)用程序625可在其操作期間將變量和數(shù)據(jù)結(jié)構(gòu)存儲在堆630中。移動設(shè)備600還可包括其他可移動/不可移動、易失性/非易失性存儲器。作為示例,圖6示出閃存卡635、硬盤驅(qū)動器636、以及記憶棒637。例如,可小型化硬盤驅(qū)動器636以適應(yīng)存儲器槽。移動設(shè)備600可經(jīng)由可移動存儲器接口 631與這些類型的非易失性可移動存儲器接口,或可經(jīng)由通用串行總線(USB)、IEEE 639、一個或多個有線端口 640、或天線665連接。在這些實(shí)施例中,可移動存儲器設(shè)備635-637可經(jīng)由通信模塊632與移動設(shè)備接口。在一些實(shí)施例中,并非所有這些類型的存儲器都可被包括在單個移動設(shè)備上。在其他實(shí)施例中,可將這些和其他類型的可移動存儲器中的一個或多個包括在單個移動設(shè)備上。在一些實(shí)施例中,可按更永久地附連到移動設(shè)備600的方式連接硬盤驅(qū)動器636。例如,硬盤驅(qū)動器636可連接到諸如并行高級技術(shù)附件(PATA)、串行高級技術(shù)附件(SATA)或其他可連接到總線615的附件等接口。在此類實(shí)施例中,移除硬盤驅(qū)動器可涉及移除移動設(shè)備600的外殼并移除將硬盤驅(qū)動器636連接到移動設(shè)備600內(nèi)的支承結(jié)構(gòu)的螺絲釘或其他緊固件。以上描述和在圖6中示出的可移動存儲設(shè)備635-637及其相關(guān)聯(lián)的計(jì)算機(jī)存儲介質(zhì)提供對用于移動設(shè)備600的計(jì)算機(jī)可讀指令、程序模塊、數(shù)據(jù)結(jié)構(gòu)、和其他數(shù)據(jù)的存儲。例如,可移動存儲器設(shè)備635-637可存儲由移動設(shè)備600拍攝的圖像、語音錄音、聯(lián)系人信 息、程序、用于程序的數(shù)據(jù)等。用戶可通過諸如鍵區(qū)641和話筒642等輸入設(shè)備向移動設(shè)備600中輸入命令和信息。在某些實(shí)施例中,顯示器643可以是觸敏屏幕并可允許用戶在其上輸入命令和信息。鍵區(qū)641和顯示器643可通過耦合到總線615的用戶輸入接口 650連接到處理單元605,但也可由其他接口和總線結(jié)構(gòu)連接,如通信模塊632和有線端口 640。運(yùn)動檢測652可用于確定對設(shè)備600作出的姿勢。例如,用戶可經(jīng)由對話筒642講話以及經(jīng)由在鍵區(qū)641或觸敏顯示器643上輸入的文本消息來與其他用戶通信。音頻單元655可提供電信號以驅(qū)動揚(yáng)聲器644以及接收并數(shù)字化接收自話筒642的音頻信號。移動設(shè)備600可包括提供信號以驅(qū)動相機(jī)660的視頻單元661。視頻單元660還可接收由相機(jī)661獲得的圖像并將這些圖像提供給包括在移動設(shè)備605上的處理單元600和/或存儲器。由相機(jī)661獲得的圖像可包括視頻、不形成視頻的一個或多個圖像、或其某
一組合。通信模塊632可向一根或多根天線665提供信號并從其接收信號。天線665之一可發(fā)射并接收用于蜂窩電話網(wǎng)絡(luò)的消息。另一天線可發(fā)射并接收藍(lán)牙 消息。又一天線(或共享天線)可經(jīng)由無線以太網(wǎng)網(wǎng)絡(luò)標(biāo)準(zhǔn)發(fā)射并接收網(wǎng)絡(luò)消息。更進(jìn)一步,天線將例如GPS信號等基于位置的信息提供給GPS接口和機(jī)制672。GPS機(jī)制672又使相應(yīng)的GPS數(shù)據(jù)(例如時間和坐標(biāo))可用于處理。在一些實(shí)施例中,可使用單根天線來發(fā)射和/或接收用于超過一種類型的網(wǎng)絡(luò)的消息。例如,單根天線可發(fā)射并接收語音和分組消息。當(dāng)在網(wǎng)絡(luò)化環(huán)境中操作時,移動設(shè)備600可連接到一個或多個遠(yuǎn)程設(shè)備。遠(yuǎn)程設(shè)備可包括個人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、蜂窩電話、媒體回放設(shè)備、對等設(shè)備或其他常見的網(wǎng)絡(luò)節(jié)點(diǎn),并且一般包括上面相對于移動設(shè)備600所述的許多或全部元件。本文所描述的主題的各方面可與眾多其他通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置一起操作。適用于此處所描述的主題的各方面的公知的計(jì)算系統(tǒng)、環(huán)境和/或配置的示例包括,但不限于,個人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持式或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括上述系統(tǒng)或設(shè)備中的任一個的分布式計(jì)算環(huán)境等。此處所描述的主題的各方面可在由移動設(shè)備執(zhí)行的諸如程序模塊等計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。本文所描述的主題的各方面也可以在其中任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行的分布式計(jì)算環(huán)境中實(shí)現(xiàn)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲器存儲設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲介質(zhì)中。此外,雖然此處頻繁使用術(shù)語服務(wù)器,但可以認(rèn)識到,該術(shù)語也可涵蓋客戶機(jī)、分布在一個或多個計(jì)算機(jī)上的一個或多個進(jìn)程的集合、一個或多個獨(dú)立的存儲設(shè)備、一個或多個其他設(shè)備的集合、以上的一個或多個的組合,等等。結(jié)語盡管本發(fā)明易于作出各種修改和替換構(gòu)造,但其某些說明性實(shí)施例在附圖中示出 并在上面被詳細(xì)地描述。然而應(yīng)當(dāng)了解,這不旨在將本發(fā)明限于所公開的具體形式,而是相反地,旨在覆蓋落入本發(fā)明的精神和范圍之內(nèi)的所有修改、替換構(gòu)造和等效方案。
權(quán)利要求
1.在計(jì)算環(huán)境中,一種系統(tǒng)包括任務(wù)切換器,其被配置成從數(shù)據(jù)結(jié)構(gòu)獲得信息,所述數(shù)據(jù)結(jié)構(gòu)包含與先前在計(jì)算設(shè)備上執(zhí)行的一個或多個任務(wù)的集合的每一個任務(wù)相關(guān)聯(lián)的數(shù)據(jù),所述任務(wù)切換器還被配置成使用所述信息來將每個任務(wù)的表示輸出到用戶界面,所述用戶界面被配置成允許對所述集合中的任何任務(wù)的任意用戶選擇以恢復(fù)執(zhí)行該任務(wù)。
2.如權(quán)利要求I所述的系統(tǒng),其特征在于,還包括交互機(jī)制,所述交互機(jī)制被配置成檢測針對調(diào)用所述任務(wù)切換器的用戶交互,并且當(dāng)檢測到時,采取動作來調(diào)用所述任務(wù)切換器。
3.如權(quán)利要求2所述的系統(tǒng),其特征在于,所述交互機(jī)制包括硬件按鈕,并且其中所述交互機(jī)制通過檢測發(fā)生至少閾值持續(xù)時間的硬件按鈕的按下并保持來檢測所述用戶交互。
4.如權(quán)利要求2所述的系統(tǒng),其特征在于,所述交互機(jī)制被合并到后退按鈕中。
5.如權(quán)利要求I所述的系統(tǒng),其特征在于,多個任務(wù)是單個應(yīng)用程序的部分。
6.如權(quán)利要求I所述的系統(tǒng),其特征在于,所述數(shù)據(jù)結(jié)構(gòu)包括堆棧,在所述堆棧中所述任務(wù)切換器并不被認(rèn)為是任務(wù)。
7.如權(quán)利要求I所述的系統(tǒng),其特征在于,每個任務(wù)的表示包括與該任務(wù)相對應(yīng)的屏幕截圖的至少一部分。
8.如權(quán)利要求I所述的系統(tǒng),其特征在于,每個任務(wù)的表示包括文本標(biāo)簽。
9.如權(quán)利要求I所述的系統(tǒng),其特征在于,先前執(zhí)行的一個或多個任務(wù)的集合中的每個任務(wù)對應(yīng)于包括程序的任務(wù)的實(shí)例的會話。
10.在計(jì)算環(huán)境中,一種至少部分地在至少一個處理器上執(zhí)行的方法,包括維護(hù)與多個任務(wù)相關(guān)聯(lián)的信息,每個任務(wù)對應(yīng)于先前作為前臺應(yīng)用執(zhí)行的應(yīng)用程序;將每個任務(wù)的表示輸出到交互式用戶界面;檢測將所述任務(wù)中的一個選擇為所選任務(wù)的用戶交互;以及通過在對應(yīng)于所選任務(wù)的狀態(tài)中恢復(fù)執(zhí)行所述應(yīng)用來切換至所選任務(wù)。
11.如權(quán)利要求10所述的方法,其特征在于,檢測將所述任務(wù)中的一個選擇為所選任務(wù)的用戶交互包括檢測導(dǎo)航至特定任務(wù)的第一交互,以及檢測選擇所選任務(wù)的第二交互。
12.如權(quán)利要求10所述的方法,其特征在于,還包括捕捉對應(yīng)于每個任務(wù)的屏幕截圖,以及使用所述屏幕截圖的至少一部分作為每個任務(wù)的表示。
13.如權(quán)利要求12所述的方法,其特征在于,還包括使用文本數(shù)據(jù)作為每個任務(wù)的表示的部分。
14.如權(quán)利要求10所述的方法,其特征在于,維護(hù)與多個任務(wù)相關(guān)聯(lián)的信息包括維護(hù)堆棧,并且還包括更新所述堆棧以在用另一應(yīng)用的任務(wù)替代執(zhí)行的任務(wù)之前保存關(guān)于所述執(zhí)行的任務(wù)的信息。
15.如權(quán)利要求14所述的方法,其特征在于,維護(hù)所述堆棧包括從所述堆棧釋放另一任務(wù)的數(shù)據(jù),以提供存儲器空間來保存關(guān)于所述執(zhí)行的任務(wù)的信息。
16.如權(quán)利要求14所述的方法,其特征在于,維護(hù)所述堆棧包括過濾掉重復(fù)的任務(wù)的數(shù)據(jù)。
17.—個或多個具有計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可執(zhí)行指令在被執(zhí)行時執(zhí)行以下步驟,包括 呈現(xiàn)與先前執(zhí)行的應(yīng)用的任務(wù)相對應(yīng)的任務(wù)數(shù)據(jù)的堆棧的視圖,其中所述視圖包括在所述堆棧中具有任務(wù)數(shù)據(jù)的任務(wù)的可視表示;檢測與所述視圖的交互以導(dǎo)航至特定任務(wù)表示; 檢測將與特定任務(wù)表示相對應(yīng)的任務(wù)選擇為所選任務(wù)的交互;以及 恢復(fù)執(zhí)行所選任務(wù)的執(zhí)行。
18.如權(quán)利要求17所述的一個或多個計(jì)算機(jī)可讀介質(zhì),其特征在于,所述計(jì)算機(jī)可執(zhí)行指令還包括檢測對調(diào)用任務(wù)切換程序的請求,其中呈現(xiàn)所述堆棧的視圖是響應(yīng)于所述請求而發(fā)生的。
19.如權(quán)利要求17所述的一個或多個計(jì)算機(jī)可讀介質(zhì),其特征在于,所述計(jì)算機(jī)可執(zhí)行指令還包括在檢測到針對啟動另一任務(wù)的操作時更新所述堆棧。
20.權(quán)利要求17所述的一個或多個計(jì)算機(jī)可讀介質(zhì),其特征在于,所述計(jì)算機(jī)可執(zhí)行指令還包括捕捉屏幕截圖并獲得與所述任務(wù)相對應(yīng)的文本數(shù)據(jù),以及使用所述屏幕截圖和文本數(shù)據(jù)作為所述任務(wù)的可視表示。
全文摘要
本文描述了移動設(shè)備上的任務(wù)切換。本主題公開涉及諸如智能電話之類的計(jì)算設(shè)備上的任務(wù)切換技術(shù)。應(yīng)用由一個或多個任務(wù)構(gòu)成。當(dāng)用戶請求執(zhí)行另一任務(wù)時,關(guān)于先前執(zhí)行任務(wù)的信息(例如,包括屏幕截圖)被保存到堆棧。如果用戶調(diào)用任務(wù)切換器程序,則向用戶呈現(xiàn)堆棧的視圖,例如,包含先前執(zhí)行的任務(wù)的屏幕截圖(以及代表性文本)。用戶可在那些呈現(xiàn)的任務(wù)表示之間進(jìn)行導(dǎo)航以任意地選擇任何一個,且所選的任務(wù)在選擇之際恢復(fù)執(zhí)行。
文檔編號G06F9/48GK102866913SQ20121003272
公開日2013年1月9日 申請日期2012年2月14日 優(yōu)先權(quán)日2011年2月14日
發(fā)明者R·江, R·V·曼拉帕茲, M·G·多納休, A·E·艾伯茨, J·H·卡拉恰爾, A·萬瑪, V·G·瓦蘇, A·M·布什 申請人:微軟公司