被終止的應(yīng)用在返回堆棧內(nèi)的保持的制作方法
【專利摘要】所要求保護(hù)的主題提供用于系統(tǒng)和/或方法,所述系統(tǒng)和/或方法用于影響在計(jì)算環(huán)境中在返回堆棧上的應(yīng)用的保持以及應(yīng)用的重新啟動(dòng),所述應(yīng)用在該計(jì)算環(huán)境中已經(jīng)被殺死和/或被終止。返回堆棧包括近來被計(jì)算環(huán)境或者被用戶經(jīng)由計(jì)算環(huán)境使用過或者以別的方式調(diào)用過的應(yīng)用的列表。在一個(gè)實(shí)施方案中,計(jì)算環(huán)境包括圖形用戶界面(GUI),其中用戶可以做出有意的手勢(shì)以與應(yīng)用交互,包括重新啟動(dòng)被殺死或者以別的方式被終止的應(yīng)用。依據(jù)打算進(jìn)行這樣的重新啟動(dòng)的用戶命令,計(jì)算環(huán)境可以向用戶呈現(xiàn)與被殺死的應(yīng)用相關(guān)聯(lián)的臨時(shí)UI屏幕,并且依據(jù)用來執(zhí)行被殺死的應(yīng)用的提交信號(hào)而呈現(xiàn)更完整的運(yùn)轉(zhuǎn)屏幕。
【專利說明】被終止的應(yīng)用在返回堆棧內(nèi)的保持
【背景技術(shù)】
[0001]操作系統(tǒng)(OS)通常負(fù)責(zé)硬件資源的管理以及為計(jì)算系統(tǒng)中的應(yīng)用軟件提供公共服務(wù)。操作系統(tǒng)影響可執(zhí)行應(yīng)用在給定的計(jì)算環(huán)境和/或平臺(tái)上的加載、啟動(dòng)和執(zhí)行。在應(yīng)用的運(yùn)行過程期間,應(yīng)用可能終止,或以別的方式通過各種各樣的機(jī)制被殺死一一機(jī)制例如是用戶輸入、定時(shí)的事件、死鎖、或其他有計(jì)劃或無計(jì)劃的方式。
[0002]在如今的計(jì)算平臺(tái)和/或環(huán)境中,多個(gè)應(yīng)用(其處于某種執(zhí)行狀態(tài)中)由操作系統(tǒng)跟蹤一一并且用戶可以通常經(jīng)由圖形用戶界面(⑶I)與它們交互。用戶能夠一一經(jīng)由擊鍵和/或其他有意的(deliberate)動(dòng)作一一查看并了解什么以及哪些應(yīng)用正在有效地運(yùn)行。此外,用戶能夠一一經(jīng)由這樣的擊鍵和/或其他有意的動(dòng)作一一在這樣的應(yīng)用之間切換,特別是在虛擬化的、分區(qū)的和/或多核的計(jì)算環(huán)境中。
【發(fā)明內(nèi)容】
[0003]為了提供對(duì)本文所描述的某些方面的基本理解,在下面給出本創(chuàng)新的簡(jiǎn)化概要。本概要并不是所要求保護(hù)的主題的廣泛概述。它既不打算標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵性的或決定性的元素,也不打算描繪本創(chuàng)新主題的范圍。其唯一的目的是以簡(jiǎn)化的形式給出所要求保護(hù)的主題的某些概念,以作為之后給出的更詳細(xì)描述的序言。
[0004]本申請(qǐng)的某些實(shí)施方案提供用于系統(tǒng)和/或方法,所述系統(tǒng)和/或方法用于影響在計(jì)算環(huán)境中在返回堆棧(backstack)上和/或更一般性地在應(yīng)用列表(“app列表”)上的應(yīng)用的保持,以及應(yīng)用的重新啟動(dòng),這些應(yīng)用在該計(jì)算環(huán)境中已經(jīng)被殺死(kill)或者終止。返回堆棧包括近來被計(jì)算環(huán)境或者被用戶經(jīng)由計(jì)算環(huán)境使用過或者以別的方式調(diào)用過的應(yīng)用的列表。對(duì)于本申請(qǐng)的目的來說,當(dāng)不要求用戶可訪問的應(yīng)用是諸如最近使用過(MRU)那樣的任何特定順序時(shí),術(shù)語“app列表”可滿足術(shù)語“返回堆?!钡男枰?。
[0005]在一個(gè)實(shí)施方案中,計(jì)算環(huán)境包括圖形用戶界面(⑶I),其中用戶可以做出有意的手勢(shì)來與應(yīng)用交互,包括切換和/或重新啟動(dòng)被殺死或以別的方式被終止的應(yīng)用。依據(jù)打算進(jìn)行這樣的切換和/或重新啟動(dòng)的用戶命令,計(jì)算環(huán)境可以向用戶呈現(xiàn)與被殺死的應(yīng)用相關(guān)聯(lián)的臨時(shí)Π屏幕,并且依據(jù)用來執(zhí)行被殺死的應(yīng)用的提交(commit)信號(hào)而呈現(xiàn)更完整的運(yùn)轉(zhuǎn)屏幕。
[0006]在一個(gè)實(shí)施方案中,提交信號(hào)和/或命令可以由用戶作為第二手勢(shì)給出。作為第二手勢(shì),這樣的提交信號(hào)可以給予用于計(jì)算環(huán)境的額外控制點(diǎn)——因?yàn)橛脩舻牡谝皇謩?shì)可能表明用所殺死的應(yīng)用“切換”當(dāng)前正在運(yùn)行的應(yīng)用。由于用戶可能最終決定不“重新啟動(dòng)”所殺死的應(yīng)用,所以來自用戶的第二提交手勢(shì)向計(jì)算環(huán)境表明重新啟動(dòng)所殺死的應(yīng)用。
[0007]當(dāng)結(jié)合本申請(qǐng)內(nèi)給出的附圖來閱讀時(shí),本系統(tǒng)的其他特征和方面在下面的詳細(xì)說明中給出。
【專利附圖】
【附圖說明】
[0008]在參考的附圖中圖示了示范性的實(shí)施方案。旨在使本文所公開的實(shí)施方案和附圖被看作說明性的而非限制性的。
[0009]圖1描繪當(dāng)前用戶可用的各種各樣的計(jì)算環(huán)境。
[0010]圖2是系統(tǒng)及其組件的方框圖的一種實(shí)施方案,所述系統(tǒng)及其組件可以影響被殺死和/或被終止的應(yīng)用在返回堆棧上的保持,以用于隨后的用戶交互。
[0011]圖3是用于在計(jì)算環(huán)境中操控和/或處理被殺死和/或被終止的應(yīng)用的流程圖的一種實(shí)施方案。
[0012]圖4是用于在計(jì)算環(huán)境中操控和/或處理被殺死和/或被終止的應(yīng)用的時(shí)序/過程流程圖的一種實(shí)施方案。
[0013]圖5A至5F顯示一系列的⑶I屏幕,該⑶I屏幕描繪用戶可以如何經(jīng)歷從返回堆棧中重新啟動(dòng)被殺死和/或以別的方式被終止的應(yīng)用。
[0014]圖6A至6C顯示另外一系列的⑶I屏幕,該⑶I屏幕描繪用戶可以如何經(jīng)歷從返回堆棧中重新啟動(dòng)被殺死和/或以別的方式被終止的應(yīng)用。
【具體實(shí)施方式】
[0015]當(dāng)在本文中被使用時(shí),術(shù)語“組件”、“系統(tǒng)”、“界面”等打算指計(jì)算機(jī)相關(guān)的實(shí)體,其或?yàn)橛布⒒驗(yàn)檐浖?例如,在執(zhí)行中的)和/或?yàn)楣碳?。例如,組件可以是在處理器上運(yùn)行的進(jìn)程、處理器、對(duì)象、可執(zhí)行文件、程序和/或計(jì)算機(jī)。作為舉例說明,在服務(wù)器上運(yùn)行的應(yīng)用和服務(wù)器兩者都可以 是組件。一個(gè)或多個(gè)組件可以駐留在進(jìn)程之內(nèi),并且組件可以定位于一臺(tái)計(jì)算機(jī)上和/或分布在兩臺(tái)或者更多臺(tái)計(jì)算機(jī)之間。
[0016]參考附圖來描述所要求保護(hù)的主題,其中貫穿全文,同樣的參考標(biāo)號(hào)被用來指同樣的元素。在下面的描述中,出于解釋的目的,為了提供對(duì)本創(chuàng)新主題的透徹理解,闡明了許多特定的細(xì)節(jié)。然而,明顯的是,可以實(shí)踐所要求保護(hù)的主題而無需這些特定的細(xì)節(jié)。在其他實(shí)例中,為了便于描述本創(chuàng)新主題,以方框圖的形式顯示眾所周知的結(jié)構(gòu)和設(shè)備。
[0017]介紹
在計(jì)算環(huán)境的正常操作過程中,典型的用戶(或者用戶們)可在任何給定的時(shí)間有數(shù)個(gè)運(yùn)行中和/或執(zhí)行中的應(yīng)用(替換地稱為“app”或“apps”)。這些應(yīng)用可以是經(jīng)由用戶界面(Π),且更一般地是經(jīng)由⑶I,而被控制和/或可控制的。應(yīng)用可以是能作為一組圖標(biāo)、圖塊等而表示給用戶的。此外,這些應(yīng)用和它們的表示可以經(jīng)由多個(gè)輸入/輸出設(shè)備或者機(jī)制被控制和/或可控制,所述輸入/輸出設(shè)備或者機(jī)制例如是:觸摸屏界面、鼠標(biāo)、鍵盤、話音激活、眼睛追蹤和/或在本領(lǐng)域已知的任何其他手段或機(jī)制。計(jì)算環(huán)境通常在計(jì)算環(huán)境的操作系統(tǒng)中管理這樣的應(yīng)用的執(zhí)行和狀態(tài)。
[0018]圖1顯示典型的計(jì)算環(huán)境。用戶102可以與諸如在群104中所描繪的多個(gè)計(jì)算平臺(tái)交互。這樣的計(jì)算平臺(tái)可以包括PC、膝上型電腦、智能設(shè)備、智能電話、終端或者任何其他已知的可與各種計(jì)算組件通信的物理設(shè)備。這些設(shè)備的每一種都可以經(jīng)由多個(gè)軟件和/或固件層106被直接或間接地控制。這樣的層可以進(jìn)一步包括Π或者GUI 108和/或操作系統(tǒng)110。無論是由用戶直接或間接地控制或可控制,應(yīng)用通常都由操作系統(tǒng)管理。
[0019]這些應(yīng)用可以在“前臺(tái)”(即,用戶可察覺的和/或可以同步地和/或?qū)崟r(shí)地運(yùn)行)或者在“后臺(tái)”(即,用戶不容易或者不能明顯察覺的和/或可以異步地和/或非實(shí)時(shí)地運(yùn)行)中運(yùn)行。這些應(yīng)用——不論它們正運(yùn)行或處在什么執(zhí)行狀態(tài)中(例如,正被用戶啟動(dòng)、正加載、正執(zhí)行、暫停、正被終止、已終止等)一可以經(jīng)由一組擊鍵和/或任何其他有意的動(dòng)作(例如,在觸敏屏幕上的多個(gè)觸摸)而在任何給定的時(shí)間為用戶所知和/或是用戶可訪問的。
[0020]這樣的應(yīng)用的這樣的列舉和/或顯示可以被存儲(chǔ)或以別的方式保持在由操作系統(tǒng)所使用的、被稱為“返回堆?!钡臄?shù)據(jù)結(jié)構(gòu)中。對(duì)于用戶可以如何與返回堆棧交互的僅僅
一個(gè)示例,擊鍵一ALT-TAB或者WIND0WS-TAB-在Microsoft Windows?操作系統(tǒng)(版本7
或者其他更早版本)中通常為用戶在屏幕上產(chǎn)生視覺顯示,表示用戶可能想與之交互的所有活動(dòng)的應(yīng)用,并且常常按最近使用過(MRU)的順序。
[0021]在當(dāng)前的操作系統(tǒng)中,曾經(jīng)在運(yùn)行中和/或執(zhí)行中、而現(xiàn)在可能已經(jīng)被殺死(由用戶或者操作系統(tǒng))或以別的方式被終止的應(yīng)用,可能在返回堆棧中不能被容易地訪問或者不被作為用戶可與之交互的選項(xiàng)來呈現(xiàn)。
[0022]為了本申請(qǐng)的目的,術(shù)語“被殺死”和“被終止”可作為應(yīng)用的狀態(tài)而被可互換地使用。兩個(gè)術(shù)語都指已經(jīng)到達(dá)其生存期結(jié)束的應(yīng)用。通常,這意味著應(yīng)用不再能夠被調(diào)度來接收CPU時(shí)間。一般而言,可能有至少兩種方式到達(dá)這種狀態(tài)。第一,應(yīng)用可能從其最后的指令返回(即,到達(dá)停止(halt)狀態(tài),其中沒有后續(xù)的代碼要執(zhí)行)一一例如,當(dāng)可執(zhí)行的文件從其“主”函數(shù)返回時(shí)。第二種方式是讓操作系統(tǒng)“殺死”應(yīng)用。這通??梢杂蛇M(jìn)程自身以外的某些事情觸發(fā),例如,用戶命令終止、應(yīng)用意外地崩潰或者結(jié)束等。
[0023]現(xiàn)在將描述系統(tǒng)和方法的數(shù)個(gè)實(shí)施方案,其保持被殺死和/或以別的方式被終止的、用戶可以與之交互的應(yīng)用。在數(shù)個(gè)實(shí)施方案中,組件被描述用于這樣的保持一一以及這樣的應(yīng)用的表示可能經(jīng)由⑶I呈現(xiàn)給用戶以用于交互一一例如用于重新啟動(dòng)這樣的應(yīng)用。
[0024]被殺死的應(yīng)用
返回堆棧為用戶提供一致且快速的切換機(jī)制。令人期望的是,在返回堆棧中添加用于操控被殺死的應(yīng)用的附加組件或者機(jī)制不應(yīng)該減損此總體的用戶體驗(yàn)。
[0025]由于多種原因,應(yīng)用可以當(dāng)處于返回堆棧中時(shí)被終止或殺死。例如,可以發(fā)生正常的終止,例如,在計(jì)算平臺(tái)上的低存儲(chǔ)器條件可能終止近來所使用的apps。此外,應(yīng)用可能崩潰或被掛起一例如,在屏幕上、在返回堆棧中或者在切換至該應(yīng)用時(shí)。
[0026]在用戶賬戶間的切換也可能終止已暫停的apps以便釋放存儲(chǔ)器。當(dāng)切換用戶賬戶時(shí),系統(tǒng)可能暫停、然后終止apps (或者只是終止在返回堆棧中的apps)以便釋放存儲(chǔ)器用于新的活動(dòng)的用戶會(huì)話。當(dāng)用戶切換回原始用戶會(huì)話時(shí),原始用戶在其返回堆棧中曾擁有的所有應(yīng)用通常將消失。
[0027]應(yīng)用被殺死的其他原因包括:(I) apps想要在切換時(shí)終止,因?yàn)樗鼈兲幵诓涣紶顟B(tài);(2)為了額外的隱私(例如,金融應(yīng)用等),apps想要在切換時(shí)終止;(3)在運(yùn)行時(shí)環(huán)境中的場(chǎng)所改變或者其他改變,其可能需要?dú)⑺缿?yīng)用以便讓改變得以安裝。
[0028]在設(shè)計(jì)用于操控和/或管理被殺死的應(yīng)用的魯棒的系統(tǒng)時(shí),可能合意的是一一當(dāng)應(yīng)用被殺死而同時(shí)對(duì)用戶仍可見時(shí)一一所殺死和/或崩潰的應(yīng)用將是返回堆棧中的下一個(gè)app。此外,就不毀壞或者以別的方式破壞返回堆?;蚱鋬?nèi)容而論,在應(yīng)用處于返回堆棧中時(shí)應(yīng)用的殺死應(yīng)該是得體的。
[0029]用戶體驗(yàn)示例
現(xiàn)在將描述根據(jù)本申請(qǐng)構(gòu)成的系統(tǒng)的某些實(shí)施方案可以如何操控返回堆棧中的被殺死的應(yīng)用。對(duì)于第一個(gè)示例,用戶可以去到“開始”處來啟動(dòng)某些喜愛的apps:例如,天氣、IE和股票。一旦用戶已經(jīng)啟動(dòng)這些apps — 一不是回到“開始”處在它們之間切換一一用戶就可以使用返回堆棧來快速地重新回到它們。用戶可以間或看到用于她近來使用過的apps之一的“臨時(shí)” Π (即,快速且暗淡(dirty)的飛濺屏幕(splash screen)或者部分飛濺屏幕)以表明它還沒準(zhǔn)備好運(yùn)行。然而,當(dāng)用戶把它留在屏幕上時(shí),應(yīng)用快速啟動(dòng)并且返回到用戶先前所在之處。
[0030]在另一個(gè)例子中,用戶可能經(jīng)歷應(yīng)用的屏上(on-screen)崩潰。例如,在本申請(qǐng)的一個(gè)實(shí)施例中假設(shè)用戶正在閱讀當(dāng)前的新聞一一即,可能用戶正在閱讀報(bào)紙的app。用戶可能選擇新的文章來讀,這可能導(dǎo)致該app崩潰,因此給用戶呈現(xiàn)墻紙屏幕。用戶快速地意識(shí)到app已經(jīng)崩潰,并且可能從觸敏屏幕的左邊緣滑動(dòng)(swipe)(或者某個(gè)其他有意的手勢(shì)),這恢復(fù)報(bào)紙的app并且啟動(dòng)它。因此,在本實(shí)施方案中,用戶不需要回到啟動(dòng)器屏幕去重新回到已崩潰的apps。而是,本實(shí)施方案可以允許用戶利用單一的手勢(shì)重新回到已崩潰的apps ο
[0031]操縱和安棑已終Ih的aDDS
在本系統(tǒng)的一個(gè)實(shí)施方案中,被殺死和/或被終止的應(yīng)用可以被用戶操縱和/或安排,就像對(duì)于運(yùn)行中的程序可以做的那樣。就這一點(diǎn)而言,被殺死和/或被終止的應(yīng)用可以響應(yīng)于各種用戶命令,諸如是:(1) “切換的”;(2) “拍快照(snap)的”;(3) “丟棄的”和/或(4) “剪除(prune)的”。將意識(shí)到,其他用戶命令也許是可能的,并且這樣的其他或者不同的命令被預(yù)期為在本申請(qǐng)的范圍之內(nèi)。
[0032]出于解釋的目的,用戶可以“切換”應(yīng)用——也就是說,一個(gè)正在前臺(tái)中運(yùn)行并且經(jīng)由UI呈現(xiàn)給用戶的應(yīng)用,可以在前臺(tái)中被另外一個(gè)應(yīng)用取代,并且經(jīng)由UI呈現(xiàn)給用戶。用戶可以給應(yīng)用“拍快照”,以使得被“拍快照”的應(yīng)用現(xiàn)在與另外一個(gè)應(yīng)用共享前臺(tái)和對(duì)用戶的呈現(xiàn)。用戶可以“丟棄”應(yīng)用,以使得所“丟棄”的應(yīng)用可以不再經(jīng)由UI呈現(xiàn)給用戶,但是所丟棄的應(yīng)用可能仍然在執(zhí)行(除非被終止)并且在返回堆棧中保持。用戶可以“剪除”應(yīng)用,以使得所“剪除”的應(yīng)用被終止。如果所剪除的應(yīng)用正在運(yùn)行中,那么剪除將導(dǎo)致該應(yīng)用被終止并且從返回堆棧中移除。如果所剪除的應(yīng)用已經(jīng)被殺死,那么剪除將導(dǎo)致該應(yīng)用被從返回堆棧中移除。
[0033]這些用戶命令的每一個(gè)可以以任何已知的方式遞送至計(jì)算環(huán)境,所述方式例如包括經(jīng)由在觸敏顯示屏上所做出的手勢(shì)。例如,切換和/或拍快照命令可以利用滑動(dòng)手勢(shì)完成,例如,從屏幕的左邊或者右邊滑動(dòng)。丟棄命令可以通過觸摸Π的表示應(yīng)用的部分并且將應(yīng)用“扔”回到返回堆棧中而完成。剪除命令可以通過觸摸Π的呈現(xiàn)應(yīng)用的部分并且將應(yīng)用“扔”至某個(gè)位置(例如屏幕的底部)而完成。當(dāng)然其他手勢(shì)是可能的,并且只要合適的手勢(shì)為用戶所知且為了適當(dāng)?shù)挠脩趔w驗(yàn)起見而一致就足夠了。
[0034]在其他實(shí)施方案中,按照本申請(qǐng)構(gòu)成的系統(tǒng)相對(duì)于被殺死的應(yīng)用可以具有以下屬性:(I)如果app在處于返回堆棧中時(shí)被終止,則app將保留在返回堆棧中(并且,在一個(gè)實(shí)施方案中,處在返回堆棧中與該app運(yùn)行時(shí)相同的位置);(2)被殺死的apps可利用包括臨時(shí)畫面(temporary visual)的飛派屏幕來表示;(3)被殺死的app可以像其他任何app (無論在執(zhí)行中或者在任何其他合適的狀態(tài))一樣被切換、拍快照、丟棄和/或剪除(或者例如經(jīng)由UI給予應(yīng)用的任何其他可能的用戶命令);(4)被殺死的app可依據(jù)給定的事件被激活,例如,當(dāng)切換超時(shí)發(fā)生時(shí)。在每個(gè)實(shí)例中,可能是這種情況:計(jì)算環(huán)境呈現(xiàn)被殺死的app的臨時(shí)表示以使得該臨時(shí)表示可以像運(yùn)行中的應(yīng)用一樣被操縱和安排。在這樣的實(shí)例中,臨時(shí)表示可在重新啟動(dòng)被殺死的app之前被安置為例如在桌面(或者其他地方)上的app窗□。
[0035]在此外的其他實(shí)施方案中,按照本申請(qǐng)構(gòu)成的系統(tǒng)相對(duì)于崩潰的或者掛起的應(yīng)用可以具有以下屬性:(I)如果屏上app崩潰,則用戶可被帶去期望的后臺(tái),并且崩潰的app將是返回堆棧中的下一個(gè)事物——用其飛濺屏幕來表示;(2)如果app在經(jīng)由返回堆棧切換回它時(shí)崩潰或者掛起,則用戶可被帶去期望的后臺(tái),并且該掛起/崩潰的app將是返回堆棧中的下一個(gè)事物。
[0036]在此外的其他實(shí)施方案中,按照本申請(qǐng)構(gòu)成的系統(tǒng)相對(duì)于應(yīng)用的屏上表示可以具有以下屬性:(1)當(dāng)用戶切換到已經(jīng)被殺死或者終止而同時(shí)處于返回堆棧中的app時(shí),該app將利用臨時(shí)畫面來表示,該臨時(shí)畫面在app被帶到屏上時(shí)創(chuàng)建;(2)如果所殺死的app在屏上被激活,則飛濺屏幕臨時(shí)畫面可被切換(hand off),以使得過渡平穩(wěn)發(fā)生;(3)如果用戶切換離開被殺死的app,則可以使飛濺屏幕臨時(shí)畫面消失。
[0037]已經(jīng)描述了 某些實(shí)施方案和它們的一些方面和屬性,現(xiàn)在將公開某些其他實(shí)施方案。圖2描繪了系統(tǒng)(200)的一部分,系統(tǒng)200包括能夠保持被殺死和/或以別的方式終止的應(yīng)用以便向用戶呈現(xiàn)和隨后重新啟動(dòng)并執(zhí)行的組件。系統(tǒng)200包括切換器組件202,其接受多個(gè)用戶命令作為輸入,用戶命令例如是觸摸滑動(dòng)、鼠標(biāo)點(diǎn)擊、鍵盤敲擊等??梢宰龀鲇脩裘钜杂^看多個(gè)狀態(tài)中的應(yīng)用的列表,多個(gè)狀態(tài)例如是執(zhí)行中、被殺死、被終止等。該列表可以包括任何由返回堆棧組件204給出的合適的數(shù)據(jù)結(jié)構(gòu)(AppList)。
[0038]切換器組件202管理切換會(huì)話的生存期。當(dāng)會(huì)話開始時(shí),切換器202可以創(chuàng)建當(dāng)前返回堆棧的快照。額外的切換可以使用戶進(jìn)一步移動(dòng)通過該堆棧并且延長會(huì)話。當(dāng)用戶與app交互時(shí)或者在切換之間的短的超時(shí)之后,會(huì)話結(jié)束。切換器組件202與App管理器206及激活管理器208通信,它們幫助管理應(yīng)用的激活和啟動(dòng)。
[0039]為了支持切換至非運(yùn)行中的應(yīng)用,切換器可以預(yù)先創(chuàng)建用于當(dāng)前未運(yùn)行的應(yīng)用的飛濺屏幕。該窗口可以由App畫面210和飛濺屏幕212來創(chuàng)建一一特別是,如果沒有用于被殺死應(yīng)用的當(dāng)前運(yùn)行中的窗口和/或Π屏幕的話。當(dāng)用戶提交了至非運(yùn)行中的app的切換時(shí),切換器可把該窗口切換至窗口激活上下文(context)。當(dāng)重新啟動(dòng)app時(shí),激活代碼可能重新使用現(xiàn)有的窗口,而不是創(chuàng)建新的飛濺屏幕。在切換模式的結(jié)尾,如果用戶不啟動(dòng)與臨時(shí)畫面相關(guān)聯(lián)的app,則切換器將使該窗口消失。
[0040]在切換時(shí),系統(tǒng)可能創(chuàng)建一對(duì)控件來影響切換:App畫面和放落反饋(DropFeedback)。在一個(gè)實(shí)施方案中,切換器一次可以使用放落反饋控件的僅僅一個(gè)實(shí)例。此外,可能沒有由切換器所創(chuàng)建的App畫面的多于兩個(gè)的實(shí)例,并且通常一次僅有一個(gè)。
[0041]圖3描繪對(duì)于系統(tǒng)的一個(gè)實(shí)施方案的一個(gè)高級(jí)別流程圖,該系統(tǒng)具有如上所述的GUI和操作系統(tǒng)。在300處開始,系統(tǒng)可以允許由有意的用戶動(dòng)作驅(qū)動(dòng)應(yīng)用——例如,在302,從觸敏屏幕的邊緣拖動(dòng)。在304,系統(tǒng)將試圖從返回堆棧中得到應(yīng)用,并且在306,檢測(cè)該應(yīng)用是否當(dāng)前正運(yùn)行。如果不是,那么在308,系統(tǒng)可以創(chuàng)建用于該應(yīng)用的飛濺屏幕——并且在310,無論是這樣還是那樣(B卩,無論應(yīng)用在運(yùn)行中與否),系統(tǒng)都可以得到對(duì)于該應(yīng)用的縮略圖。[0042]在312,系統(tǒng)可以安置縮略圖-利用或者不利用用戶的輸入。此外,在314,系統(tǒng)
可以得到輸入——例如,有關(guān)應(yīng)用的UI屏幕可以駐留于屏幕的何處。在步驟316,系統(tǒng)可詢問或以別的方式監(jiān)視應(yīng)用是否正在被拖動(dòng)——并且如果是的話,系統(tǒng)可以在步驟312重復(fù)。
[0043]一旦應(yīng)用不再被拖動(dòng),那么在318,系統(tǒng)可以把前臺(tái)UI和/或處理切換到該應(yīng)用。在步驟320,系統(tǒng)可以等待切換輸入或者提交。在一個(gè)實(shí)施方案中,“提交”命令和/或信號(hào)指的是對(duì)用戶是否已經(jīng)完成切換的確定。例如,這可以是系統(tǒng)對(duì)用戶想要與當(dāng)前app交互有較高把握的點(diǎn)。如果當(dāng)前的app由飛濺屏幕來表示,則這是app將被重新啟動(dòng)的時(shí)候。
[0044]其他實(shí)施方案可以選擇對(duì)于提交的不同觸發(fā)。例如,提交可以在以下情況中應(yīng)用:(I) 一旦飛濺屏幕被放置于屏幕上時(shí);(2)在任意的超時(shí)時(shí)刻;(3)在與臨時(shí)畫面交互的時(shí)間或者(4)依據(jù)與提交相關(guān)聯(lián)的任何用戶輸入。應(yīng)當(dāng)意識(shí)到,其他實(shí)現(xiàn)可以使用觸發(fā)的組合,或者其他這樣的合適的觸發(fā)。要滿足的是:對(duì)于無論何種觸發(fā)或者命令與“提交”相關(guān)聯(lián),計(jì)算環(huán)境應(yīng)該延遲啟動(dòng)直到用戶意圖明確。由于啟動(dòng)可能在CPU以及盤使用方面是昂貴的,所以避免不必需的啟動(dòng)會(huì)是令人期望的。如果在322處沒有提交,則系統(tǒng)將繼續(xù)至步驟304。然而,如果在步驟322處有提交,那么在324,系統(tǒng)可以檢查應(yīng)用是否正在運(yùn)行。如果是,那么系統(tǒng)在328處完成。否則,系統(tǒng)將啟動(dòng)應(yīng)用,并且在326,利用其通常的運(yùn)轉(zhuǎn)飛濺屏眷替換臨時(shí)UI。
[0045]圖4描繪一個(gè)高級(jí)別時(shí)序圖,其描繪了在切換器組件、飛濺屏幕組件和激活管理器組件之間的處理流程。正如所顯示的,在檢測(cè)到應(yīng)用拖動(dòng)后,如果需要(特別是如果應(yīng)用當(dāng)前不在執(zhí)行中),則切換器組件可以發(fā)送信號(hào)至飛濺屏幕組件以創(chuàng)建臨時(shí)UI。此外,切換器組件可以發(fā)送用于UI屏幕的位置和顯示的信號(hào)至飛濺屏幕組件。
[0046]如果切換器組件檢測(cè)到提交信號(hào),那么切換器組件可以發(fā)送重新啟動(dòng)應(yīng)用信號(hào)至激活管理器組件,并且作為回報(bào),激活管理器組件可以發(fā)送交換信號(hào)至飛濺屏幕組件。交換信號(hào)可以影響臨時(shí)畫面的替換,臨時(shí)畫面用實(shí)際應(yīng)用替換。一旦應(yīng)用能夠表示它自身,就不需要臨時(shí)畫面,并且其可以消失以便釋放資源。
[0047]替換地,如果切換器組件檢測(cè)到取消拖動(dòng)(CancelDrag)信號(hào),則切換器組件隨后可以發(fā)送清理(Cleanup)信號(hào)至飛濺屏幕組件。在這種情況下,如果用戶選擇不切換至臨時(shí)畫面,那么不再需要臨時(shí)畫面并且可以釋放其資源。
[0048]用戶界面示例
圖5A至5F顯示一系列的⑶I屏幕,其描繪了用戶可能如何經(jīng)歷從返回堆棧中重新啟動(dòng)被殺死的和/或以別的方式被終止的應(yīng)用。假設(shè)用戶處于某個(gè)計(jì)算環(huán)境中的正在運(yùn)行的應(yīng)用中,并且正在運(yùn)行第一程序502 (比方說,圖5A中所描繪的Shutter Web和它的相關(guān)聯(lián)的Π)。再假設(shè)計(jì)算環(huán)境包括活動(dòng)的觸敏屏幕和GUI (例如,帶有用于運(yùn)行中的應(yīng)用#1的觸敏命令516,如所示的),用戶可試圖通過有意的手勢(shì)——比如在圖5B中所描繪的從觸敏屏幕的左邊緣滑動(dòng)的動(dòng)作或者手勢(shì)——從返回堆棧中訪問被殺死的應(yīng)用。
[0049] 臨時(shí)Π屏幕(表示被殺死的應(yīng)用)在504處變得可見,帶有在點(diǎn)506處的用戶的手指支點(diǎn)(digit hold)。經(jīng)由手指支點(diǎn),用戶可以把臨時(shí)Π屏幕移動(dòng)至屏幕上的新位置(例如,移動(dòng)至右邊,如在圖5Β中所描繪的)。在Π屏幕上做出(或以別的方式與之相關(guān)聯(lián))的這樣的觸摸手勢(shì)也可以用信號(hào)通知提交信號(hào)一一從用戶至計(jì)算環(huán)境一一用戶期望應(yīng)用開始執(zhí)行。在某些實(shí)施方案中,觸摸手勢(shì)的結(jié)束位置可將信號(hào)告知給計(jì)算環(huán)境,以便或是開始執(zhí)行(例如,如果用戶的手指支點(diǎn)減慢和/或在觸敏顯示屏的某個(gè)中間點(diǎn)上停止)或是不開始執(zhí)行(例如,如果用戶的數(shù)字并未充分地減慢下來和/或用戶繼續(xù)滑動(dòng)手勢(shì)以向UI屏幕告知將其移到觸敏顯示屏表面遠(yuǎn)處的虛擬“速度”)。
[0050]在其他實(shí)施方案中,“放落畫面”的方式可以與用戶意圖相關(guān)聯(lián)。例如,畫面被放落的屏幕的不同區(qū)域可與不同的行為相關(guān)聯(lián)。在某些實(shí)施方案中,在靠近邊緣處放落畫面可能表明app不應(yīng)該被帶到屏幕上。在其他地方放落可能表明app應(yīng)該被帶到屏幕上。放落的大概位置可以確定app應(yīng)該占用屏幕的什么部分。
[0051]在一個(gè)實(shí)施方案中,臨時(shí)Π屏幕可能包括關(guān)于被殺死的應(yīng)用是什么的某些標(biāo)記一一例如,像“天氣”之類的臨時(shí)的(以及或許敷衍的)圖標(biāo)508 (或者任何其他合適的App#2)。臨時(shí)Π屏幕和/或圖標(biāo)可以是一個(gè)屏幕,其具有的圖形信息和/或功能性比應(yīng)用正執(zhí)行或以別的方式運(yùn)轉(zhuǎn)時(shí)經(jīng)常性地與之相關(guān)聯(lián)的Π屏幕要少。操作系統(tǒng)可能通過用戶拖動(dòng)臨時(shí)UI屏幕的距離和/或位置而不同地(在用戶看來)處理被殺死的應(yīng)用的呈現(xiàn)。如在圖中所見的,用戶已拖動(dòng)臨時(shí)Π屏幕到某個(gè)位置(例如,經(jīng)過整個(gè)屏幕的中間部分510)——這可向操作系統(tǒng)表明:用戶打算讓很快要重新啟動(dòng)的被殺死的應(yīng)用用掉整個(gè)屏眷。
[0052]在這個(gè)示例中,圖5E描繪了重新啟動(dòng)的被殺死的應(yīng)用將占用整個(gè)屏幕——因?yàn)榕R時(shí)Π屏幕512已經(jīng)用掉整個(gè)屏幕區(qū)域。在圖5F中,操作系統(tǒng)現(xiàn)在已經(jīng)成功地啟動(dòng)天氣應(yīng)用(或者任何其他合適的App#2)并且現(xiàn)在正在執(zhí)行中,正如用其完全運(yùn)轉(zhuǎn)的正常UI屏幕514所描繪的那樣。 [0053]圖6A至6C顯示另一系列的⑶I屏幕,其描繪用戶可能如何經(jīng)歷從返回堆棧中重新啟動(dòng)被殺死和/或以別的方式被終止的應(yīng)用。圖6A再次顯示用戶的屏幕,其具有當(dāng)前正在一部分屏幕中執(zhí)行的一個(gè)應(yīng)用602。在屏幕左手部分,有一個(gè)區(qū)域用于將要被執(zhí)行并且將向用戶呈現(xiàn)Π屏幕的另一應(yīng)用。被殺死的應(yīng)用604 (及其相關(guān)聯(lián)的臨時(shí)UI)正在被拖動(dòng)至圖6B中該左手部分內(nèi)的位置606,令用戶的手指支點(diǎn)被描繪為圓形元素。圖6C描繪了系統(tǒng)已經(jīng)重新啟動(dòng)被殺死的應(yīng)用并且當(dāng)前正在其部分屏幕內(nèi)執(zhí)行,以及其完整的UI屏幕在608處運(yùn)轉(zhuǎn)。
[0054]應(yīng)當(dāng)意識(shí)到,其他實(shí)施方案可允許多于兩個(gè)apps可以在任何給定時(shí)間出現(xiàn)在屏幕上。這樣的其他實(shí)施方案可選擇其他規(guī)則來用于在屏幕上布置apps。例如,這些實(shí)施方案可牽涉到或可不牽涉到重疊的窗口或者對(duì)于所顯示apps的數(shù)目或那些apps的尺寸的限制。滿足本申請(qǐng)的目的的是:安置規(guī)則影響在啟動(dòng)app之前安置app的某種方式。
[0055]上面所描述的內(nèi)容包括本創(chuàng)新主題的示例。當(dāng)然不可能為了描述所要求保護(hù)的主題而描述組件或方法的每個(gè)可想到的組合,但是本領(lǐng)域技術(shù)人員可以認(rèn)識(shí)到,本創(chuàng)新主題的許多進(jìn)一步的組合和排列是可能的。因此,所要求保護(hù)的主題旨在包含所有這樣的落入所附權(quán)利要求的精神和范圍之內(nèi)的變更、修改和變化。
[0056]除非另外地指明,否則特別地且對(duì)于由上述的組件、設(shè)備、電路、系統(tǒng)等執(zhí)行的各種功能而言,被使用來描述這樣的組件的術(shù)語(包括對(duì)“裝置”的引用)旨在對(duì)應(yīng)于任何執(zhí)行所描述組件的所規(guī)定功能的組件(例如,功能上的等同),即便其在結(jié)構(gòu)上不等同于所公開的結(jié)構(gòu),該公開的結(jié)構(gòu)執(zhí)行在所要求保護(hù)主題的本文所例示的示范性方面的功能。就這一點(diǎn)而言,也將認(rèn)識(shí)到,本創(chuàng)新包括系統(tǒng)以及計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可讀介質(zhì)具有計(jì)算機(jī)可執(zhí)行指令,用于執(zhí)行所要求保護(hù)的主題的各種方法的動(dòng)作和/或事件。
[0057]此外,雖然本創(chuàng)新主題的特定特征可能已相對(duì)于若干實(shí)現(xiàn)中的僅僅一個(gè)實(shí)現(xiàn)被公開,但這樣的特征可與其他實(shí)現(xiàn)的一個(gè)或者多個(gè)其他特征相組合,這對(duì)于任何給定的或者特定的應(yīng)用來說是令人期望的和有利的。此外,就術(shù)語“包含”(“includes”和“including”)及其變體在詳細(xì)說明或者權(quán)利要求書中被使用而言,這些術(shù)語以與術(shù)語“包括”(“ comprising”)類似的方式被規(guī)定為包含性的。
【權(quán)利要求】
1.一種用于在計(jì)算環(huán)境中在應(yīng)用列表中保持被殺死的應(yīng)用的方法,所述計(jì)算環(huán)境包括一個(gè)或者多個(gè)處理器、計(jì)算機(jī)可讀存儲(chǔ)器、輸入和輸出組件、用戶界面(UI)以及用于管理應(yīng)用的加載、啟動(dòng)、執(zhí)行的操作系統(tǒng),所述Π提供對(duì)于用戶可用的應(yīng)用的表示,所述方法的步驟包括: 更新應(yīng)用列表中一組應(yīng)用的列表,所述應(yīng)用在所述計(jì)算環(huán)境中對(duì)于用戶是可用的;當(dāng)所述應(yīng)用之一從執(zhí)行狀態(tài)轉(zhuǎn)變成被殺死狀態(tài)時(shí),在應(yīng)用列表中保持被殺死的應(yīng)用;依據(jù)來自用戶的、表明從應(yīng)用列表中選擇所述被殺死應(yīng)用的命令的信號(hào),創(chuàng)建與所述被殺死的應(yīng)用相關(guān)聯(lián)的臨時(shí)UI屏幕; 在至少Π的一部分上呈現(xiàn)該臨時(shí)Π屏幕,所述臨時(shí)Π屏幕能夠被用戶在所述Π上拖動(dòng);以及 一旦所述應(yīng)用依據(jù)來自所述計(jì)算環(huán)境的提交信號(hào)而執(zhí)行,就將該臨時(shí)Π屏幕替換為與所述應(yīng)用相關(guān)聯(lián)的常規(guī)Π屏幕。
2.權(quán)利要求1的方法,其中所述應(yīng)用列表包括一群最近使用過的應(yīng)用的列表,所述群包括:當(dāng)前正運(yùn)行的應(yīng)用以及被殺死的應(yīng)用。
3.權(quán)利要求1或者2的方法,其中所述來自用戶的信號(hào)包括一群信號(hào)中的一個(gè),所述群包括:在觸敏屏幕上的手勢(shì)、鼠標(biāo)手勢(shì)、鍵盤手勢(shì)、話音激活信號(hào)、眼睛追蹤信號(hào)。
4.前述權(quán)利要求的任一項(xiàng)的方法,其中與所述被殺死的應(yīng)用相關(guān)聯(lián)的所述臨時(shí)Π屏幕包括如下的屏幕,即:該屏幕包括的圖形內(nèi)容比在所述應(yīng)用執(zhí)行時(shí)與所述應(yīng)用相關(guān)聯(lián)的UI屏幕少。
5.前述權(quán)利要求的任一項(xiàng)的方法,其中與所述被殺死的應(yīng)用相關(guān)聯(lián)的所述臨時(shí)Π屏幕包括如下的屏幕,即:該屏幕包括的功能性比在所述應(yīng)用執(zhí)行時(shí)與所述應(yīng)用相關(guān)聯(lián)的UI屏幕少。
6.一種用于用戶的計(jì)算環(huán)境,所述計(jì)算環(huán)境還包括: 處理器; 計(jì)算機(jī)可讀存儲(chǔ)器,所述計(jì)算機(jī)可讀存儲(chǔ)器能夠存儲(chǔ)應(yīng)用,所述應(yīng)用能由所述處理器執(zhí)行; 輸入和輸出組件; 多個(gè)應(yīng)用,所述應(yīng)用響應(yīng)于來自所述用戶的輸入命令; 圖形用戶界面(GUI),用于向所述用戶呈現(xiàn)視覺信息; 操作系統(tǒng),用于管理所述應(yīng)用的執(zhí)行和其他潛在狀態(tài);以及 其中所述操作系統(tǒng)進(jìn)一步包括: 切換器組件,所述切換器組件能夠接受來自所述用戶的輸入信號(hào),以切換到近來使用過的并且當(dāng)前處于被殺死狀態(tài)的應(yīng)用; 返回堆棧組件,所述返回堆棧組件包括被所述計(jì)算環(huán)境近來使用過的應(yīng)用的列表;以及 飛濺屏幕組件,所述飛濺屏幕組件能夠創(chuàng)建臨時(shí)Π屏幕,該臨時(shí)Π屏幕能在所述GUI上對(duì)于被殺死的應(yīng)用再現(xiàn),對(duì)于該被殺死的應(yīng)用,所述用戶已經(jīng)給出有意的手勢(shì),表明重新啟動(dòng)在所述返回堆棧組件中的所述被殺死應(yīng)用的命令,并且進(jìn)一步地,其中在重新啟動(dòng)之前所述臨時(shí)Π屏幕能夠由所述用戶在所述GUI上移動(dòng)。
7.權(quán)利要求7的計(jì)算環(huán)境,其中所述計(jì)算環(huán)境還包括觸敏顯示屏,并且所述用戶可以在所述觸敏顯示屏上給出滑動(dòng)手勢(shì),表明重新啟動(dòng)所述被殺死的應(yīng)用的命令。
8.權(quán)利要求7或者8的計(jì)算環(huán)境,其中所述滑動(dòng)手勢(shì)進(jìn)一步包括觸摸手勢(shì),以使得所述觸摸手勢(shì)的結(jié)束條件向所述計(jì)算環(huán)境表明用來重新啟動(dòng)所述被殺死的應(yīng)用的提交信號(hào)。
9.前述權(quán)利要求的任一項(xiàng)的計(jì)算環(huán)境,其中所述臨時(shí)Π屏幕包括如下的屏幕,即:該屏幕包括的圖形內(nèi)容比在所述應(yīng)用執(zhí)行時(shí)與所述應(yīng)用相關(guān)聯(lián)的Π屏幕少。
10.前述權(quán)利要求的任一項(xiàng)的計(jì)算環(huán)境,其中與所述被殺死的應(yīng)用相關(guān)聯(lián)的所述臨時(shí)UI屏幕包括如下的屏幕,即:該屏幕包括的功能性比在所述應(yīng)用執(zhí)行時(shí)與所述應(yīng)用相關(guān)聯(lián)的Π屏幕 少。
【文檔編號(hào)】G06F9/44GK104025002SQ201380004779
【公開日】2014年9月3日 申請(qǐng)日期:2013年1月5日 優(yōu)先權(quán)日:2012年1月5日
【發(fā)明者】B.S.列維, M.I.沃爾利, C.D.薩里恩, R.J.賈雷特, 黃子欣 申請(qǐng)人:微軟公司