标签:
重要
这是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)
标签:
原文地址:http://www.cnblogs.com/starliu/p/4718371.html