3.4 硬件的影响
以上场景介绍的都是软件进行多任务的情景,其实硬件也是会影响到App的多任务操作的。
最常见的例子就是,当我们插着耳机正在听音乐,突然耳机被拔掉了,这时App并不会通过扬声器播放声音,而是会暂停音乐的播放。虽然这种情况比较极端,对于App来说是一种意外中断的情况,但是设计时测试人员会更多考虑发生这种情况的场景是用户由于某些原因,比如说要和别人说话而拔掉了耳机,所以,为了更好的用户体验,显然暂停播放比用扬声器播放要好不少。
不仅是耳机会对App多任务有影响,锁屏键和Home键也会影响App的运行。
(1)通常我们会使用锁屏键进行锁屏和解锁,测试时以下情景需要考虑:当运行App的时候,使用锁屏键关闭屏幕,App是应该继续运行,还是等待屏幕恢复之后再运行;当解锁时,App是停留在当前的子页面,还是回到App的主页面;前台运行App,等待屏幕进行休眠时,点击解锁键,观察App的表现。
(2)Home键被用作切换App到后台。测试人员可以观察App在被切换到后台1分钟,5分钟,10分钟,30分钟之后,再被重新打开的时候是如何表现的,是停留在之前的子页面,还是回到App的主页面。除此之外,这种情境下页面的信息显示是怎么样的。
(3)另一种App中断也需要考虑,就是Android设备上SD卡被拔出的情况。对于允许把数据或者App本身存放到SD卡的设备,SD卡被拔出意味着读写App数据甚至App本身的运行都不存在(如图3.6所示)。这种操作对于App来说是毁灭级的,除非App在运行过程中不断地把App自身和缓存数据写到设备自带内存中的临时存储空间,不然App是没有办法恢复之前运行的状态的。而这么做又和把App存储到设备自带内存没有区别,所以在设计App的时候也不要使App能存储到SD卡。
图3.6 卸载SD卡时Android系统的提示