多任务处理

多任务处理让人们在屏幕上(以及合适的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. django 实现同一个ip十分钟内只能注册一次(redis版本)

    上一篇文章,django 实现同一个ip十分钟内只能注册一次 的时候,我们在注册的时候选择使用的使我们的数据库来报错我们的注册的ip信息,可是如果数据量大,用户多的时候,单单靠我们的数据库 来储存我们 ...

  2. 离散型特征编码方式:one-hot与哑变量

    在机器学习问题中,我们通过训练数据集学习得到的其实就是一组模型的参数,然后通过学习得到的参数确定模型的表示,最后用这个模型再去进行我们后续的预测分类等工作.在模型训练过程中,我们会对训练数据集进行抽象 ...

  3. 一个JS效果竟然要研究一天,我是不是不适合做前端?

    前言 今天这篇文章的标题,显然是要搞事情.一个JS交互效果,居然花费了一天的宝贵时间才研究出来,我是不是不太适合做前端? 别急,搬好小板凳,正文从这开始- 本来今天下班回来感觉有点累,想着今天就别学了 ...

  4. H5缓存

    h5 namifest(已经被废弃):http://www.tuicool.com/articles/VvABB3Y service worker缓存:https://developer.mozill ...

  5. Java_String_01_由转义字符串得到其原本字符串

    在开发企业微信电子发票之拉取电子发票接口的时候,微信服务器会发送给我们一个2层的转义字符串,而我们要想得到我们想要的结果,就需要进行一些处理: 反转义+去除首尾双引号. 一.需求 现有一个字符串 st ...

  6. java 压缩导出多个excel

    简单介绍下我实现的功能,首先是我的excel上传,它是以blob字段存储在oracel数据库中的,我实现的是循环遍历blob字段并使用io流进行打包下载,如有需要可自行修改 使用技术有,springM ...

  7. javascript获取年月日

    javascript获取年月日代码片段 function getNowDate() { var date = new Date(); var split = "-"; var ye ...

  8. Ant的使用

    Ant的使用 什么是Apache Ant Apache Ant是一个基于java的软件构建工具(build tool),理论上它有点类似C/C++的make工具 为什么要用ant? make, gnu ...

  9. Python中文

    在python中有两种默认的字符串:str和unicode.在Python中一定要注意区分"Unicode字符串"和"Unicode对象"的区别. 后面所有的& ...

  10. Python mysqldb模块

    #!/usr/bin/env python2.7 #-*- coding:utf8 -*- import os import sys import logging import MySQLdb fro ...