多任務(wù)處理讓人們可以在最近使用的應(yīng)用之間進(jìn)行快速切換。
http://wiki.jikexueyuan.com/project/ios-human-interface-guidelines/images/multitasking_2x.png" alt="" />
為了支持這樣的體驗(yàn),多任務(wù)處理會(huì)讓一款應(yīng)用在用戶切換離開后,在后臺(tái)進(jìn)入掛起狀態(tài)。當(dāng)用戶切換回來時(shí),應(yīng)用可以快速重新啟用,因?yàn)樗鼰o需重新加載 UI。人們使用多任務(wù)處理 UI( multitasking UI )(如上圖)來選擇一款最近使用了的應(yīng)用。
API 提示:想要了解在你的代碼中如何支持多任務(wù)處理,請(qǐng)參閱中的App States and Multitasking。
能否出色的運(yùn)用多任務(wù)處理取決于能否與設(shè)備中的其他應(yīng)用和諧共事。 從更高的層面來說,這意味著所有的應(yīng)用都應(yīng)該:
下述指南細(xì)則可以幫助你的應(yīng)用更好的運(yùn)用多任務(wù)處理。
準(zhǔn)備好被打斷,并恢復(fù)。多任務(wù)處理增加了后臺(tái)應(yīng)用中斷你的應(yīng)用的可能性。其他特性,諸如廣告出現(xiàn)和更快的應(yīng)用切換,也會(huì)造成更頻繁地打斷。越快速、越精確地保存應(yīng)用的當(dāng)前狀態(tài),用戶便可以越快地重新運(yùn)行應(yīng)用,并從之前離開的位置繼續(xù)使用。你可以通過利用 UIKit 的狀態(tài)保存和恢復(fù)功能來為用戶提供無縫的重新運(yùn)行體驗(yàn)。
確保你的UI可以處理兩倍高度的狀態(tài)欄。兩倍高度的狀態(tài)欄會(huì)在諸如通話、錄音和共享等過程中出現(xiàn)。在未作處理的應(yīng)用中,狀態(tài)欄的額外高度會(huì)引起布局問題,如 UI 被向下擠壓或者被遮住。在多任務(wù)處理環(huán)境中,正確的處理兩倍高狀態(tài)欄顯得尤為重要,因?yàn)榭赡軙?huì)有更多的應(yīng)用導(dǎo)致它的出現(xiàn)。
準(zhǔn)備好暫停需要人們注意或主動(dòng)參與的活動(dòng)。例如,如果你的應(yīng)用是一款游戲或媒體觀看應(yīng)用,你需要確保你的用戶從應(yīng)用切換走時(shí),不會(huì)丟失任何內(nèi)容或事件。當(dāng)人們切換回游戲或媒體播放器時(shí),他們希望能繼續(xù)之前的體驗(yàn),就好像他們從未離開過應(yīng)用。
確保音頻行為合適。當(dāng)你的應(yīng)用正在運(yùn)行時(shí),多任務(wù)處理會(huì)使得其他媒體活動(dòng)更可能地同時(shí)發(fā)生,也會(huì)有更多可能性使你的音頻不得不暫停,并恢復(fù)來響應(yīng)中斷。查看 聲音 來幫助你確保你的音頻能滿足人們的期望,并與設(shè)備中的其他音頻和諧共處。
適度使用本地通知。應(yīng)用可以在特定時(shí)間發(fā)送本地通知,無論應(yīng)用是在暫停中還是運(yùn)行中亦或是根本就沒有運(yùn)行。為了達(dá)到最好的用戶體驗(yàn),應(yīng)避免用過多的通知來騷擾人們,并遵循 通知 中創(chuàng)建通知內(nèi)容的指南。
必要時(shí),在后臺(tái)完成用戶的任務(wù)。當(dāng)人們開始一個(gè)任務(wù)時(shí),他們通常會(huì)期望即使已經(jīng)從應(yīng)用中切換走了,任務(wù)仍能夠完成。如果你的應(yīng)用正在執(zhí)行用戶已經(jīng)初始化了的任務(wù),并且這個(gè)任務(wù)不需要額外的用戶交互,那么你就應(yīng)該在應(yīng)用掛起之前就在后臺(tái)完成任務(wù)。