原文出處:@鋼鐵俠般的卿哥歡迎分享原創到伯樂頭條
重要
這是API或開發技術的初步文檔。蘋果公司提供這些信息主要是為了幫助你通過蘋果產品使用這些技術或者編程接口而做好計劃,該信息有可能會在未來發生改變,本文當中提到的軟件應該以最終發布的操作系統測試和最終文檔為准。未來有可能會提供新版本的文檔信息。
iOS 9 中多任務處理功能,為我們提供了更多的方式來暢享iPad和App帶來的樂趣。
在Slide Over功能中,全屏顯示的App 是主App。在Slide Over上選中的App 是次要App。在分屏視圖Split View(在從左至右寫的語言環境下)左側的App是主要App,右側的 是次要App。
如果你遵循了蘋果iOS 8最佳實踐建議,所有這些新的與App的交互方式,尤其是iOS 9中的多任務處理都是非常的簡單和直觀。從Xcode 7開始,每一個iOS App 模板都默認支持Slide Over 和 Split View。
從開發者的角度來說,最大的挑戰是資源的管理。
每個iOS App(甚至那些沒有使用多任務功能的App)需要在iOS9中良好地運行。現在,甚至全屏App 們都沒有有效地利用整個屏幕、CPU、內存以及其他的資源。例如,用戶可以:
為了能有效地參與到這種環境中,iOS9開發者必須謹慎調整他們的App 的資源消耗。如果一個App 每一幀消耗了太多的時間,屏幕的刷新率會低於60幀每秒。在內存壓力下,系統會終止消耗最多內存的App。
想了解更多如何在iOS 9中如何管理資源,請查看Multitasking Mindset。
了解App的特征並審視自己的工作
考慮你的App的特征後再決定你想采用哪種多任務增強功能,以及需要做什麼工作。
大多數App應該采用Slide Over 和 Split View。從用戶的角度來說,一個iOS 9應用不支持這兩項特性是有點格格不入的。
如果你的App符合以下情況之一,可以不支持多任務處理功能:
除此之外,蘋果和你的用戶們都希望你采用Slide Over 和 Split View。欲了解更多,請參看Slide Over & Split View Quick Start。
如果不使用Slide Over 和 Split View,需將UIRequiresFullScreen key添加到Xcode 工程的Info.plist文件中,並且設置其Boolean value為YES。
注意:不使用Slide Over 和 Split View,表示你的App 不能出現在Slide Over 區域中,盡管你的App 運行在多任務環境中。在你想支持的硬件上測試App,以確保當其他App出現在Slide Over模式中,以及在播放來自第三個App的視頻的畫中畫模式下,你的App都能流暢運行。
畫中畫(PiP)適用於以播放視頻為主要功能的App。畫中畫(PiP)也最佳適合中長時間的內容播放。
支持畫中畫,能讓你的用戶在視屏播放的同時,還能與你App或其他的App交互。學習和運用PiP,請閱讀Picture in Picture Quick Start。
在游戲場景的過渡、首次啟動以及類似的內容不應該支持畫中畫(PiP)。你可以選擇給定的視頻退出畫中畫,如下所示:?
注意:如果你的App使用Media Player 框架播放視頻,無論使用其框架中的MPMoviePlayerController或MPMoviePlayerViewController類,你必須遷移使用AVKit或AV Foundation。Media Player視頻播放正式在iOS 9中棄用。
如果你的App 播放HTTP Live Streaming (HLS)視頻,請使用元數據優化播放。通過響應stream-variant元數據標簽,優化應用程序在各種視屏窗口大小下的性能。並最大限度地減少電池消耗,你使用的內容分發網絡(CDNs)同樣也應該提供多個stream variants,並用合適的分辨率標簽標注每個variant。欲了解更多信息,請參閱HTTP Live Streaming Overview。
如果你的應用程序在第二個物理屏幕上展示內容,請測試應用的轉場。
特別需要測試從次要App過渡到主要App的用例。只有主要App才有資格使用第二個物理屏幕,所以過渡到主要App是一個新的場景,你的App可以從中接收UIScreenDidConnectNotification通知。確保你的App可幫用戶理解使用實例中發生了什麼,當內容移動到第二屏上時,這可能有點奇怪。
開發環境
Xcode7 支持在iPad上使用多任務增強。
使用Xcode 7、模擬器和Instruments 中的新功能:
想要測試內存、CPU、GPU以及所有硬件相關的表現,請在你想要支持的硬件上測試App。想要在iOS設備上測試你的App,你必須是iOS開發者計劃的成員。請參閱App Distribution Guide中的Managing Accounts。
在iOS9中,以下型號的iPad支持多任務增強。
多任務思維模式
想要在支持iOS 9的iPad上的取得成功,不管是對系統,還是設備上的其他App,你的App必須在設備資源方面表現良好。
當你的App在前台運行時,其他的App可能會在它一旁運行,也可能播放畫中畫視頻,並且持有它的App在後台運行。
在iOS9之前,你可以使用任何可用的CPU、GPU、內存、I/O以及硬件資源維持極好的體驗。在iOS 9中,這些都將改變。App如何有效地利用資源成為了問題關鍵,如此,用戶的iPad體驗才是流暢和響應靈敏的。
為了獲得最佳的用戶體驗,系統會緊密地管理資源消耗情況,並終止使用超過系統配額資源的App。
你在iPad上采用多任務處理增強的大部分工作,很有可能是對資源管理的最佳實踐。第一步:
在iOS 9中,不再適合從屏幕的界面方向來考慮。App能在iPad上適應水平方向上的compact Size Class或是regular Size Class,大小改變獨立於界面的方向。相反要使用trait collections和Size Classes,采用UIContentContainer和UITraitEnvironment協議,請參閱Slide Over and Split View Quick Start所述。
同樣在iOS 9中也不再適合使用屏幕的范圍限制來判斷你的App的可見區域,而是使用你App的窗口的范圍來判斷。注意你的App的范圍應該是可操控。你不能設置App的范圍界限,也不能阻止其改變。
盡管Auto Layout 自動布局不是最佳iOS 9 App所必須,但這樣做會更容易。自動布局提供了性能的優勢,並幫助你匹配蘋果在iOS Human Interface Guidelines中描述的最佳實踐。簡單地說,Auto Layout幫助你的內容顯示在正確的地方,並有助於未來你的App的迭代。你可以反復使用Auto Layout,一次一個布局。至少你的LaunchScreen.storyboard文件必須使用Auto Layout。縱觀你的App,使用Storyboards幫助你的視圖適應用戶在不同情況下打開和使用你的App時視圖尺寸的變化。
都說程序員的工資高,卻很少了解他們加班的痛苦,你是不是每次也在心裡想,按時間折算下來這個工資都給少了,於是會想在心裡吶喊,要麼漲工資,要麼漲工資,要麼漲工資,為什麼??因為不讓我們加班,這是不可能的!!!
想要顛覆自己的工作模式嗎?想要減少自己的加班時間嗎?加入我們,和我們一起探尋屬於我們程序員的自由模式吧!
一款針對程序員的原生APP,以共享知識技能為目的,以懸賞方式在線互動交互平台。
我們擁有高達近20人頂尖的技術團隊,以及優秀的產品及運營團隊。團隊領軍人物均在行業內有10年以上的豐富經驗。
現在我們正在招募原始的參與英雄,您將同我們一起改變程序員的工作方式,改變程序員的世界!同時也會有豐厚的報酬。作為我們的原始的參與者,您將同我們一起體驗這款程序員神器,您可以提出專業的建議,我們會虛心采納。每一個人都會是英雄,而您就會是我們需要的英雄!同時您也可以邀請您的朋友一起參與這場英雄的招募互動。
我們不會耽誤你太多時間,我們只需要您的專業看法,只要您從一個月內抽出1個小時,以後您每天都可以節省兩個小時,一切都是為了我們自己!
來?還是不來?
接頭人暗號:1955246408 (QQ)