多任务处理

多任务处理让人们在屏幕上(以及合适的iPad模式)查看多个app,而且在近期使用的app中高速地切换。

在iOS 9中。人们能够使用多任务处理UI(例如以下所看到的)来选择一个近期使用的app。

在多任务处理环境中的成功取决于与设备上其它app的和谐共处。在高层面上。这意味着app应该:

  • 用心地优化资源的使用来避免使用过多的CPU、内存、屏幕控件和其它资源
  • 优雅地处理其它app的干扰和声音
  • 停止和又一次開始——即过渡到后台或从后台过渡——高速而平滑
  • 当没有在前台时对行为负责

以下的特有的指南会帮助你的app在多任务处理环境中专注于app切换获取成功。查看Adopting Multitasking Enhancements
on iPad
获取很多其它关于在iPad多任务处理环境下执行的信息。

准备好被打断和继续。多任务添加了后台app打断你的app的可能性。其它的特性比如推送广告和高速app切换也会导致更高频率的打断。你越快越准确地保存你app当前的状态,人们就能越快地又一次启动并继续他们离开时的工作。为了给予用户一种无缝重新启动的体验。利用UIKist的保存和恢复功能(查看Preserving
Your App’s Visual Appearance Across Launches
获取很多其它信息)。


确保你的UI可以处理两层高度的状态栏。两层高度状态栏在比如进程中来电、语音录制和共享数据。

在没准备的app中状态栏额外的高度会导致布局的问题。

比方说,UI会变低或者被覆盖住。在多任务处理环境中,可以处理两层高度的状态栏尤其重要。由于有很多其它的app会导致其出现。



准备好暂停须要人们关注或者參与的活动。比方说,假设你的app是一个游戏或者播放视频的app。确保用户切换离开你的app时不会错过不论什么内容或事件。当人们切换回一个游戏或者视频播放器。他们想要像从没离开过一样继续体验。

确保你的声音表现得体。多任务处理使得你的app在执行时更有可能发生别的多媒体活动。因此你的声音也更有可能不得不暂停和又一次開始来处理中断。

查看Sound来获取指南帮助你确保你的声音符合人们的预期而且和设备上的其它声音和谐共存。

有克制地使用本地通知。

一个app能够安排在特定的时间发送本地通知。不管这个app是挂起、在后台执行还是没有执行。为了达到最好的用户体验,避免用过多的通知纠缠人们。而且遵循Notifications中描写叙述的创建通知内容的指南。

合适的时候结束后台用户发起的任务。

当人们发起一个任务。他们通常期望它即使在切换离开app时也能结束。假设你的app正在运行一个用户发起的不须要用户额外交互的任务。你应该在挂起前在后台完毕它。

本文翻译自苹果官方开发文档

查看完整合集:https://github.com/Cloudox/iOS-Human-Interface-Guidelines

版权全部:http://blog.csdn.net/cloudox_

《iOS Human Interface Guidelines》——Multitasking的更多相关文章

  1. 《iOS Human Interface Guidelines》——Search Bar

    搜索栏 搜索栏接收用户输入用于搜索的文本(例如以下,带有占位文本). API NOTE 查看UISearchBar学习怎样在你的代码中定义搜索栏.查看UISearchDisplayController ...

  2. 《iOS Human Interface Guidelines》——Popover

    弹出框 弹出框是当人们点击一个控件或屏幕上一个区域时显示的一个暂时的界面. API NOTE 在iOS 8及以后的系统中.你能够使用UIPopoverPresentationController来显示 ...

  3. 《iOS Human Interface Guidelines》——System Button

    系统button 系统button运行一个app特定的动作. API NOTE 在iOS 7中,UIButtonTypeRoundedRect被又一次定义成UIButtonTypeSystem.查看U ...

  4. 《iOS Human Interface Guidelines》——Edit Menu

    编辑菜单 用户能够显示一个编辑菜单来在文本视图.网页视图和图像视图运行诸如剪切.粘贴和选择的操作. 你能够调整一些菜单的行为来在你的app中给用户给多的内容控制.比方你能够: 指定哪一个标准菜单命令对 ...

  5. 《iOS Human Interface Guidelines》——Wallet

    Wallet Wallet(钱包)帮助人们查看和管理Pass(凭证),这是一种相似于登机牌.优惠券.会员卡.奖励卡和各种票的物理凭证的数字替代.Wallet也同意人们加入信用卡.借记卡和储值卡来和Ap ...

  6. 《iOS Human Interface Guidelines》——Container View Controller

    容器视图控制器 容器视图控制器管理和展示它的子视图集合--或者子控制器集合--以一种自己定义的方式. 系统定义的容器视图控制器的样例有标签栏视图控制器.导航栏视图控制器和分栏视图控制器(查看Tab B ...

  7. 《iOS Human Interface Guidelines》——Segmented Control

    分段控件 分段控件是一组线性段.每一个button相应的功能能够显示一个不同的视图. API NOTE 查看UISegmentedControl来学习很多其它关于在你的代码中定义一个分段控件的内容. ...

  8. 【译】iOS人性化界面指南(iOS Human Interface Guidelines)(一)

    1. 引言1.1 译者自述 我是一个表达能力一般的开发员,不管是书面表达,还是语言表达.在很早以前其实就有通过写博客锻炼这方面能力的想法,但水平有限实在没有什么拿得出手的东西分享.自2015年7月以来 ...

  9. iOS 人机交互指导方针(iOS Human Interface Guidelines)

    iOS 人机交互指导方针(iOS Human Interface Guidelines) 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名 ...

随机推荐

  1. 原生 drag drop HTML5

    drag事件( dragstart -- drag -- dragend )   当按下鼠标开始drag一个可以拖动的对象时,触发dragstart事件,如果元素是不可拖动的话,会出现一个不可拖动的图 ...

  2. shiro实现无状态的会话,带源码分析

    转载请在页首明显处注明作者与出处 朱小杰      http://www.cnblogs.com/zhuxiaojie/p/7809767.html 一:说明 在网上都找不到相关的信息,还是翻了大半天 ...

  3. day2--命令总结

    1.mkdir               创建目录  -p递归(用来创建层级目录,底层目录不存在) 2.touch               创建文件 3.ls                  ...

  4. div内长串数字或字母不断行处理

    比如: <div>1111tryrt645645rt4554111112324353453454364</div> <div>qwewretrytuytuiyiuo ...

  5. ASP.Net Controls 用法大全

    The FindControl method of the System.Web.UI.Control class appears simple enough to use. In fact, the ...

  6. 两个Xml转换为DataSet方法(C#)

    ///通过传入的特定XML字符串,通过 ReadXml函数读取到DataSet中.protected static DataSet GetDataSetByXml(string xmlData){   ...

  7. 10个鲜为人知的C#关键字

    在正式开始之前,我需要先声明:这些关键字对于偏向底层的程序员更加耳熟能详,对这些关键字不了解并不影响你作为一个合格的程序员. 这意味着这些关键字会让你在编写程序时得到更好的代码质量和可读性,enjoy ...

  8. [转载] Mahout

    转载自http://hadoop.readthedocs.org/en/latest/Hadoop-Mahout.html# Mahout 12.1 简介 Mahout为推荐引擎提供了一些可扩展的机器 ...

  9. 学会WCF之试错法——安全配置报错分析

    安全配置报错分析 服务端配置 <system.serviceModel> <bindings> <wsHttpBinding> <binding name = ...

  10. Android隐藏软键盘

    1,用java代码隐藏: /**隐藏软键盘**/        View view = getWindow().peekDecorView();        if (view != null) { ...