多任务处理

多任务处理让人们在屏幕上(以及合适的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. 高性能 AJAX

    请求数据的常用的五种方式 1.XMLHttpRequest (XHR) var url = '/data.php'; var params = [     'id=934875',     'limi ...

  2. ionic3.0--angular4.0 引入第三方插件库的方法

    ionic3.0 引入第三方插件 (swiper),方法很多,现详细说明下官方推荐(typings)做法. 1.全局安装Typings 1. npm install -g typings  2.搜索你 ...

  3. JAVA中文乱码之解决方案

    1.解决HTML页面的中文问题:为了使HTML页面很好的支持中文,在每个HTML页面的<head>标签内部增加(创建HTML页面自带) <head> <meta char ...

  4. Java并发Fork-Join框架原理解析

    1.什么是Foirk/Join框架 Fork/Join框架是Java7提供用于并行执行任务的框架,是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架. 2.什么是并行流与顺 ...

  5. 基于HTML5的WebGL经典3D虚拟机房漫游动画

    第一人称在 3D 中的用法要参考第一人称在射击游戏中的使用,第一人称射击游戏(FPS)是以第一人称视角为中心围绕枪和其他武器为基础的视频游戏类型 ; 也就是说,玩家通过主角的眼睛来体验动作.自从流派开 ...

  6. 一起写框架-MVC框架-基础功能-Date类型数据绑定(七)

    实现功能 表单请求传递的数据,格式为以下格式的日期时间数据. (1):yyyy-MM-dd hh:mm:ss (2):yyyy-MM-dd 执行方法可以使用Date类型接收. 实现思路 1.获得表单字 ...

  7. [转载] 常用 Java 静态代码分析工具的分析与比较

    转载自http://www.oschina.net/question/129540_23043 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代 ...

  8. python --- 协程编程(第三方库gevent的使用)

    1. 什么是协程? 协程(coroutine),又称微线程.协程不是线程也不是进程,它的上下文关系切换不是由CPU控制,一个协程由当前任务切换到其他任务由当前任务来控制.一个线程可以包含多个协程,对于 ...

  9. Getting Started With setuptools and setup.py

    https://pythonhosted.org/an_example_pypi_project/setuptools.html http://www.ianbicking.org/docs/setu ...

  10. 【python】__new__和__init__区别

    原文:http://blog.csdn.net/cnmilan/article/details/8849680 __new__:创建对象时调用,返回当前对象的一个实例__init__:创建完对象后调用 ...