首页> 中国专利> 多系统切换时的切换动画显示方法及装置

多系统切换时的切换动画显示方法及装置

摘要

本发明提供了多系统切换时的切换动画显示方法及装置,该方法包括:检测到针对多系统前后台切换的触发操作,获取系统切换时与前、后台系统分别对应的切换显示数据;基于系统切换时与前、后台系统分别对应的切换显示数据生成系统切换动画;播放系统切换动画,且前、后台系统执行切换操作;展示切换后处于前台的系统的实时显示数据。在前、后台系统的屏幕画面对比度差异较大的情况下,应用本发明提供的多系统切换时的切换动画显示方法,可以给用户提供平滑过渡的系统切换视觉效果,从而提高用户观看感受。

著录项

  • 公开/公告号CN105872711A

    专利类型发明专利

  • 公开/公告日2016-08-17

    原文格式PDF

  • 申请/专利权人 北京元心科技有限公司;

    申请/专利号CN201610250043.4

  • 发明设计人 卜东超;

    申请日2016-04-21

  • 分类号H04N21/431(20110101);H04N5/268(20060101);

  • 代理机构11330 北京市立方律师事务所;

  • 代理人张筱宁

  • 地址 100176 北京市北京经济技术开发区科创十四街99号33幢D栋2222号

  • 入库时间 2023-06-19 00:16:32

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-07-26

    授权

    授权

  • 2016-09-14

    实质审查的生效 IPC(主分类):H04N21/431 申请日:20160421

    实质审查的生效

  • 2016-08-17

    公开

    公开

说明书

技术领域

本发明涉及无线移动通信技术领域,具体而言,本发明涉及一种多系统切换时的切换动画显示方法以及一种多系统切换时的切换动画显示装置。

背景技术

当多系统中前、后台系统进行切换操作时,如果切换过程中没有切换动画,则实际的显示效果只是前、后台系统的屏幕画面之间的快速变换。如果前、后台系统的屏幕画面对比度差异较大,则屏幕画面快速变换会给用户带来变换突兀的视觉效果及观看感受。

但是由于在多系统中前、后台系统是两个独立的系统,做系统间切换动画需要涉及两个独立系统间的协作操作,因此,前、后台系统切换动画与现有技术中在同一系统中做普通应用的切换动画的方式及难度是截然不同的。

然而,现有技术中没有提供解决针对多系统间切换时的切换动画显示问题的方案。

发明内容

为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:

本发明的一个实施例提出了多系统切换时的切换动画显示方法,包括:

检测到针对多系统前后台切换的触发操作,获取系统切换时与前、后台系统分别对应的切换显示数据;

基于系统切换时与前、后台系统分别对应的切换显示数据生成系统切换动画;

播放系统切换动画,且前、后台系统执行切换操作;

展示切换后处于前台的系统的实时显示数据。

优选地,通过以下任一项来实现播放系统切换动画,并执行前、后台系统切换操作:

播放系统切换动画结束时,前、后台系统执行切换操作;

检测到前、后台系统切换结束时,播放系统切换动画;

通过独立于前、后台系统的第三方系统播放系统切换动画并控制前、后台系统执行切换操作。

优选地,通过切换动画应用生成并播放系统切换动画;

其中,播放系统切换动画,并执行前、后台系统切换操作,具体包括以下情形:

在切换前的前台系统启动切换动画应用,则首先播放系统切换动画,在播放结束时前、后台系统执行切换操作;

在切换前的后台系统启动切换动画应用,则首先前、后台系统执行切换操作,在切换完成时播放系统切换动画;

在第三方系统启动切换动画应用,则在前、后台系统执行切换操作的过程中,播放系统切换动画。

优选地,播放系统切换动画,具体包括:

在当前处于前台的系统的展示界面顶层播放系统切换动画。

优选地,检测到针对多系统前后台切换的触发操作时,获取系统切换时与前、后台系统分别对应的切换显示数据,包括:

检测到针对多系统前后台切换的触发操作执行时间大于设定时间阈值,以预定的截取频率多次截取系统切换时与前、后台系统分别对应的切换显示数据;

其中,基于系统切换时与前、后台系统分别对应的切换显示数据生成系统切换动画,具体包括:

基于多次截取得到的系统切换时与前、后台系统分别对应的切换显示数据生成系统切换动画。

优选地,系统切换时与前、后台系统分别对应的切换显示数据包括系统切换前时前、后台系统的截屏显示数据。

本发明的另一实施例提出了多系统切换时的切换动画显示装置,包括:

数据获取模块,用于检测到针对多系统前后台切换的触发操作,获取系统切换时与前、后台系统分别对应的切换显示数据;

动画生成模块,用于基于系统切换时与前、后台系统分别对应的切换显示数据生成系统切换动画;

动画播放模块,用于播放系统切换动画;

系统切换模块,用于控制前、后台系统执行切换操作;

数据展示模块,用于展示切换后处于前台的系统的实时显示数据。

优选地,通过以下任一项来实现播放系统切换动画,并执行前后台系统切换操作:

动画播放模块播放系统切换动画结束时,系统切换模块控制前后台系统执行切换操作;

检测到前后台系统切换结束时,动画播放模块播放系统切换动画;

动画播放模块及系统切换模块通过控制独立于前后台系统的第三方系统播放系统切换动画并控制前后台系统执行切换操作。

优选地,动画生成模块和动画播放模块分别通过切换动画应用生成和播放系统切换动画;

其中,动画播放模块和系统切换模块具体用于以下情形:

在切换前的前台系统启动切换动画应用,则首先动画播放模块播放系统切换动画,在播放结束时系统切换模块控制前后台系统执行切换操作;

在切换前的后台系统启动切换动画应用,则首先系统切换模块控制前后台系统执行切换操作,在切换完成时动画播放模块播放系统切换动画;

在第三方系统启动切换动画应用,则在系统切换模块控制前后台系统执行切换操作的过程中,动画播放模块播放系统切换动画。

优选地,动画播放模块具体用于在当前处于前台的系统的展示界面顶层播放系统切换动画。

优选地,数据获取模块具体用于检测到针对多系统前后台切换的触发操作执行时间大于设定时间阈值,以预定的截取频率多次截取系统切换时与前、后台系统分别对应的切换显示数据;

其中,动画生成模块具体用于基于多次截取得到的系统切换时与前、后台系统分别对应的切换显示数据生成系统切换动画。

本发明的技术方案提供解决针对多系统切换时的切换动画显示问题的方案。首先,检测到针对多系统前后台切换的触发操作,获取系统切换时与前、后台系统分别相应的切换显示数据;随后,播放系统切换动画,且前、后台系统执行切换操作,在前、后台系统执行切换操作的过程中,控制播放系统切换动画以配合系统切换过程,以平缓地呈现方式将前后系统的显示屏幕画面进行过渡切换,确保了用户不易察觉到系统切换过程中屏幕显示的并非真实系统显示数据。在前、后台系统的屏幕画面对比度差异较大的情况下,应用本发明提供的多系统切换时的切换动画显示方法,可以给用户提供平滑过渡的系统切换视觉效果,从而提高用户观看感受。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明一个实施例的多系统切换时的切换动画显示方法的流程示意图;

图2为本发明一个优选实施例的以立方体旋转形式展现系统切换动画的视觉效果图;

图3为本发明另一优选实施例的多系统切换时的切换动画显示装置的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(PersonalDigital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global PositioningSystem,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。

本发明的实施例中的多系统至少包括两个系统。其中,多系统可包括各种操作系统,例如Android、Windows和元心等智能终端操作系统。本发明的实施例中的多系统可基于多种虚拟技术来实现,下文以Linux系统下的容器技术为例来进行实施例的详述。其中,使用Linux容器技术实现的多系统,在每个容器中装入独立的系统,多个系统之间相互独立,且多个系统运行在同一台物理终端设备上。

Linux容器工具,可以提供轻量级的虚拟化,以便隔离进程和资源。使用容器的优点就是不需要安装太多的软件包,使用过程也不会占用太多的资源。容器有效地将由单个操作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求。与虚拟机技术相比,容器技术既不需要指令级模拟,也不需要即时编译。容器可以在核心CPU本地运行指令,而不需要任何专门的解释机制。此外,也避免了准虚拟化和系统调用替换中的复杂性。容器在提供隔离的同时,还通过共享这些资源节省开销,这意味着容器比真正的虚拟化的开销要小得多。通过提供一种创建和进入容器的方式,操作系统让应用程序就像在独立的机器上运行一样,但又能共享底层的系统及物理资源。

本发明的实施例中的多系统可基于多种虚拟技术来实现,下文以Linux系统下的容器技术为例来进行实施例的详述。其中,使用Linux容器技术实现的多操作系统,在每个容器中装入独立的系统,多个系统之间相互独立,且多个系统运行在同一台物理终端设备上。

图1为本发明一个实施例的多系统切换时的切换动画显示方法的流程示意图。

各步骤所执行的内容概述如下:步骤S110:检测到针对多系统前后台切换的触发操作,获取系统切换时与前、后台系统分别对应的切换显示数据;步骤S120:基于系统切换时与前、后台系统分别对应的切换显示数据生成系统切换动画;步骤S130:播放系统切换动画,且前、后台系统执行切换操作;步骤S140:展示切换后处于前台的系统的实时显示数据。以下针对各个步骤的具体实现做进一步的说明:

步骤S110:检测到针对多系统前后台切换的触发操作,获取系统切换时与前、后台系统分别对应的切换显示数据。

优选地,系统切换时与前、后台系统分别对相应的切换显示数据包括系统切换前时前、后台系统的截屏显示数据。可选地,系统切换时与前、后台系统分别对相应的切换显示数据还可以包括与前、后台系统分别对应的预定显示数据,如系统标识图片;例如,前台系统A是安卓系统,则与系统A对应的系统标识图片。

需要说明的是,下述实施例以系统切换时与前、后台系统分别对相应的切换显示数据为系统切换前时前、后台系统的截屏显示数据的情形为例来进行实施例的详述。

具体地,多系统前后台切换的触发操作包括但不限于以下方式:

(1)按下预定的前后台切换物理按键;例如,设定按键SWITCH为系统切换按键,当终端设备检测到用户按下SWITCH的操作时即可触发系统前后台的切换操作。

(2)以预定的按键方式按下相应的物理按键;例如,预定同时按下音量增大减小按键超过3秒即可触发系统前后台的切换操作,当终端设备检测到用户同时按下音量增大减小按键超过3秒的操作时即可触发系统前后台的切换操作。

(3)以系统预定的操作方式对终端设备进行操作,例如,对终端设备进行水平翻转即可触发系统前后台的切换操作。

以上三种触发操作是由Linux内核和驱动程序通过硬件按键、或感应器检测到,并且根据操作识别出是否需要进行系统前后台的切换操作;随后Linux内核通知多系统执行前后台切换相关的操作。

(4)以预定的手势在屏幕上进行触摸操作;例如,在屏幕上执行触摸轨迹为划五角星形状的手势即可触发系统前后台的切换操作。

(5)当对前台系统中的切换图标执行触发操作时,即可触发系统前后台的切换操作,如对与系统切换相应的节点文件进行相应操作。

以上两种触发操作均为软件触发方式。例如,在前台系统的状态栏上设置切换图标,当前台系统检测到用户点击该切换图标时,基于点击操作对Linux内核提供的与多系统前后台切换对应的文件节点执行相应操作,如对文件节点dev/switch进行写入操作,如写入“1”,当Linux内核检测到/dev/switch执行写入“1”的操作时即可通知多系统执行前后台切换操作。

需要说明的是,多系统都是基于相同的物理内核,且多系统之间一般不直接通讯,其之间可以通过内核进行系统间通讯,或者通过进程间通信来实现系统间的数据传递。

优选地,在获取系统切换前时前、后台系统的截屏显示数据之前,可以检测切换前时后台系统是否处于休眠状态,如果是,则需要唤醒后台系统。具体地,如果系统切换前时后台系统处于休眠状态,则后台系统对应的截屏显示数据为空或者为进入休眠状态之前的已过期的截屏显示数据,因此需要唤醒后台系统以刷新该系统对应的显示缓冲区域中存储的截屏显示数据。另外,如果预设启动后台系统的同时启动预定的应用程序,也需要通过唤醒后台系统以启动预定的应用程序。例如,前台系统是A系统,后台系统是B系统,预设启动后台系统B的同时启动通话应用程序。在系统切换前,后台系统B处于休眠状态,出于对节能等设计因素的考虑,预设后台B系统进入休眠状态时,不必要开启的应用程序都相应地被关闭,且该应用程序包括通话应用程序。由于预设启动后台系统B的同时启动通话应用程序,因此在获取系统切换前时后台系统B的截屏显示数据之前,需要通过唤醒后台系统B以启动通话应用程序。另外,在启动通话应用程序后,后台系统B对应的显示缓冲区域中存储的截屏显示数据相应地被更新。

当在前台系统中实现系统切换动画时,将后台系统的截屏显示数据通过进程间通信方式或通过内核传递方式从后台系统发送至前台系统;当在后台系统中实现系统切换动画时,将前台系统的截屏显示数据通过进程间通信方式或通过内核传递方式从前台系统发送至后台系统。

例如,系统A为前台系统,系统B为后台系统,在切换前的前台系统A中启动切换动画应用;切换动画应用直接读取前台系统A的截屏显示数据;前台系统A通过进程间通信方式或通过内核传递方式获取后台系统B的截屏显示数据;切换动画应用读取通过前台系统A获取的后台系统B的截屏显示数据。

又例如,系统A为后台系统,系统B为前台系统,在切换前的后台系统A中启动切换动画应用;切换动画应用直接获取切换前时后台系统A的截屏显示数据;后台系统A通过进程间通信方式或通过内核传递方式获取切换前时前台系统B的截屏显示数据,并将该截屏显示数据发送至在切换前时后台系统A中启动的切换动画应用。

步骤S120:基于系统切换时与前、后台系统分别对应的切换显示数据生成系统切换动画。

优选地,通过切换动画应用生成系统切换动画。

例如,切换动画应用在前台系统A时,分别获取系统切换前时前台系统A和后台系统B的截屏显示数据,并分别标识为FB_A_T0和FB_B_T0。切换动画应用SwitchAnimation以前台系统A的截屏显示数据FB_A_T0作为系统切换动画开始时的图片,并以后台系统B的截屏显示数据FB_B_T0作为系统切换动画结束时的图片生成系统切换动画。

步骤S130:播放系统切换动画,且前、后台系统执行切换操作。

优选地,通过以下任一项来实现播放系统切换动画,并执行前、后台系统切换操作:播放系统切换动画结束时,前、后台系统执行切换操作;检测到前、后台系统切换结束时,播放系统切换动画;通过独立于前、后台系统的第三方系统播放系统切换动画并控制前、后台系统执行切换操作。

优选地,通过切换动画应用播放系统切换动画。

其中,播放系统切换动画,并执行前、后台系统切换操作,具体包括以下情形:

(1)在切换前的前台系统启动切换动画应用,则首先播放系统切换动画,在播放结束时前、后台系统执行切换操作。

例如,系统A为前台系统,系统B为后台系统,在切换前的前台系统A中启动切换动画应用;首先,分别获取系统切换前时前台系统A和后台系统B的截屏显示数据,并分别标识为FB_A_T0和FB_B_T0;随后,在切换前的前台系统A启动切换动画应用SwitchAnimation,切换动画应用SwitchAnimation获取到前台系统A和后台系统B的截屏显示数据,并据此生成系统切换动画,该系统切换动画可以将前台系统A和后台系统B的截屏显示数据相结合以立方体旋转的形式呈现或以前台系统A的截屏显示数据向后台系统B的截屏显示数据进行过渡的形式呈现;接着,切换动画应用SwitchAnimation播放系统切换动画,以前台系统A的截屏显示数据FB_A_T0作为系统切换动画开始时的图片,此时虽然切换动画应用SwitchAnimation启动了,但其显示的内容为前台系统A的截屏显示数据FB_A_T0,且截屏显示数据FB_A_T0的内容与切换前前台系统A实际显示的内容是一致的,所以用户并不能察觉切换动画应用SwitchAnimation的启动操作,在播放系统切换动画的过程中,显示内容由前台系统A的截屏显示数据FB_A_T0向后台系统B的截屏显示数据FB_B_T0过渡,当显示内容完全过渡到FB_B_T0时,以后台系统B的截屏显示数据FB_B_T0作为系统切换动画结束时的图片;最后,在播放结束时前台系统A、后台系统B执行切换操作,此时,前台系统A释放显示设备,后台系统B获得显示设备,前台系统A及切换动画应用SwitchAnimation均被切换到后台。

(2)在切换前的后台系统启动切换动画应用,则首先前、后台系统执行切换操作,在切换完成时播放系统切换动画。

例如,系统A为后台系统,系统B为前台系统,在切换前的后台系统A中启动切换动画应用;首先,分别获取系统切换前时后台系统A和前台系统B的截屏显示数据,并分别标识为FB_A_T0和FB_B_T0;随后,后台系统A、前台系统B执行切换操作;接着,在切换前时前台系统B中启动切换动画应用SwitchAnimation,切换动画应用SwitchAnimation获取到后台系统A和前台系统B的截屏显示数据,并据此生成系统切换动画;在系统A、系统B执行完切换操作时,切换后处于后台的系统B释放显示设备,切换后处于前台的系统A获得显示设备,处于切换后前台系统A的切换动画应用SwitchAnimation播放系统切换动画,以系统B的截屏显示数据FB_B_T0作为系统切换动画开始时的图片,此时虽然系统A、系统B执行完切换操作了,但显示内容仍为切换后处于后台的系统B的截屏显示数据FB_B_T0,所以用户并不能察觉已执行前、后台系统切换,在播放系统切换动画的过程中,显示内容由系统B的截屏显示数据FB_B_T0向系统A的截屏显示数据FB_A_T0过渡,当显示内容完全过渡到FB_A_T0时,以系统A的截屏显示数据FB_A_T0作为系统切换动画结束时的图片。(3)在第三方系统启动切换动画应用,则在前、后台系统执行切换操作的过程中,播放系统切换动画。

例如,系统A为前台系统,系统B为后台系统,在第三方系统C中启动切换动画应用;首先,分别获取系统切换前时前台系统A和后台系统B的截屏显示数据,并分别标识为FB_A_T0和FB_B_T0,在第三方系统C启动切换动画应用SwitchAnimation;随后,前台系统A、第三方系统C执行切换操作,前台系统A释放显示设备,第三方系统C获取显示设备,切换动画应用SwitchAnimation以前台系统A的截屏显示数据FB_A_T0作为系统切换动画开始时的图片播放系统切换动画,此时虽然显示设备由第三方系统C占用,但显示的内容为前台系统A的截屏显示数据FB_A_T0,且截屏显示数据FB_A_T0的内容与切换前前台系统A实际显示的内容一致,故用户并不能察觉切换动画应用SwitchAnimation的启动操作,在播放系统切换动画的过程中,显示内容由前台系统A的截屏显示数据FB_A_T0向后台系统B的截屏显示数据FB_B_T0过渡,当显示内容完全过渡到FB_B_T0时,以后台系统B的截屏显示数据FB_B_T0作为系统切换动画结束时的图片;最后,在播放结束时第三方系统C和系统B执行切换操作,第三方系统C释放显示设备,系统B切换至前台获取显示设备,系统A及第三方系统C均被切换到后台。

优选地,播放系统切换动画的步骤具体包括:在当前处于前台的系统的展示界面顶层播放系统切换动画。

具体地,在当前处于前台的系统的展示界面顶层播放系统切换动画可以通过设置播放系统切换动画的窗口Z次序实现。其中,设置播放系统切换动画的窗口Z次序可以使系统切换动画窗口在重叠窗口堆中处于顶层位置。其中,窗口堆是沿着预设的轴排顺序的,该预设的轴是从屏幕向屏幕空间外延伸的虚拟Z轴。因此,窗口Z次序排序最高的窗口覆盖所有其它窗口Z次序排序低的窗口。另外,设置窗口A沿着预设的虚拟Z轴排顺序的位置是通过把该窗口A设置在给定窗口B的后面,或是将窗口A设置在所有窗口的顶部或底部。

例如,Windows系统包括三个独立的窗口Z次序用于管理不同的窗口:用于管理兄弟窗口(兄弟窗口为共享同一个父窗口的子窗口;其中,一个父窗口是一个窗体,每一个父窗口不是其他任一个窗体的子窗口。子窗口是窗体上的控件或按钮等物件)的窗口Z次序、用于管理顶层窗口的窗口Z次序、用于管理最顶层窗口的窗口Z次序。其中,最顶层窗口覆盖所有其它非最顶层的窗口,Windows系统中的应用程序通过设置WS_EX_TOPMOST属性创建最顶层窗口。一般情况下,Windows系统设置最新创建窗口的窗口Z次序排序最高,用户可通过激活一个窗口来改变窗口Z次序,Windows系统设置活动窗口的窗口Z次序排序最高。另外,Windows系统中的应用程序可以通过函数BringWindowToTop设置一个窗口的窗口Z次序,也可以通过函数SetWindowPos和DeferWindowPos来重排窗口的窗口Z次序。

步骤S140:展示切换后处于前台的系统的实时显示数据。

例如,系统A为前台系统,系统B为后台系统,在切换前的前台系统A中启动切换动画应用SwitchAnimation;首先播放系统切换动画,以前台系统A的截屏显示数据FB_A_T0作为系统切换动画开始时的图片,在播放系统切换动画的过程中,显示内容由前台系统A的截屏显示数据FB_A_T0向后台系统B的截屏显示数据FB_B_T0过渡,当显示内容完全过渡到FB_B_T0时,以后台系统B的截屏显示数据FB_B_T0作为系统切换动画结束时的图片;在播放结束时前、后台系统执行切换操作,切换后处于后台的系统A释放显示设备,切换后处于前台的系统B获得显示设备,显示系统B的实时显示数据FB_B_T1。在后台系统B没有与用户交互的情况下,FB_B_T0和FB_B_T1的内容基本相同,所以FB_B_T0向FB_B_T1的内容的过渡是平缓的。

又例如,系统A为后台系统,系统B为前台系统,在切换前的后台系统A中启动切换动画应用SwitchAnimation;首先前、后台系统执行切换操作;切换动画应用SwitchAnimation在切换完成时播放系统切换动画,以切换前处于前台的系统B的截屏显示数据FB_B_T0作为系统切换动画开始时的图片,在播放系统切换动画的过程中,显示内容由系统B的截屏显示数据FB_B_T0向切换前处于后台的系统A的截屏显示数据FB_A_T0过渡,当显示内容完全过渡到FB_A_T0时,以系统A的截屏显示数据FB_A_T0作为系统切换动画结束时的图片,此时,前、后台系统已执行完切换操作,显示切换后处于前台的系统A的实时显示数据FB_A_T1。在系统A没有与用户交互的情况下,FB_A_T0和FB_A_T1的内容基本相同,所以FB_A_T0向FB_A_T1的内容的过渡是平缓的。

再例如,系统A为前台系统,系统B为后台系统,在第三方系统C中启动切换动画应用SwitchAnimation;前台系统A、后台系统B执行切换操作过程中,首先系统A释放显示设备,第三方系统C获取显示设备,在第三方系统中启动的切换动画应用SwitchAnimation以前台系统A的截屏显示数据FB_A_T0作为系统切换动画开始时的图片播放系统切换动画,在播放系统切换动画的过程中,显示内容由前台系统A的截屏显示数据FB_A_T0向后台系统B的截屏显示数据FB_B_T0过渡,当显示内容完全过渡到FB_B_T0时,以后台系统B的截屏显示数据FB_B_T0作为系统切换动画结束时的图片;最后,在播放结束时第三方系统C释放显示设备,切换后处于前台的系统B获取显示设备,显示切换后处于前台的系统B的实时显示数据。

上述发明实施例是针对多系统前后台切换的触发操作执行时间较短的情况:只需分别获取一次系统切换前前台系统和后台系统的截屏显示数据,并生成系统切换动画。在针对多系统前后台切换的触发操作执行时间较长的情况下,则可以在切换动画应用播放动画的过程中不断地获取前台系统和后台系统的截屏显示数据,并生成系统切换动画。其中,针对多系统前后台切换的触发操作执行时间长短与用户切换系统的操作的执行时间相关,例如,用户通过手势滑动切换系统,且手势滑动过程较长,则系统切换过程的时间也相应较长。

优选地,检测到针对多系统前后台切换的触发操作时,获取系统切换时与前、后台系统分别相应的切换显示数据的步骤包括:检测到针对多系统前后台切换的触发操作执行时间大于预先设定时间阈值,以预定的截取频率多次截取系统切换时与前、后台系统分别相应的切换显示数据;其中,基于系统切换时与前、后台系统分别相应的切换显示数据生成系统切换动画,具体包括:基于多次截取得到的系统切换时与前、后台系统的切换显示数据生成系统切换动画。

例如,如图2所示,检测到针对多系统前后台切换的触发操作执行时间为“3s”,且大于设定时间阈值“2s”,则在多系统前后台切换的触发操作执行过程的第一秒、第二秒和第三秒共分别截取三次系统切换前时前、后台系统的截屏显示数据;切换动画应用基于上述三次屏幕截取操作获取的截屏显示数据生成系统切换动画,并以三维旋转的形式播放该系统切换动画。需要说明的是,如果前、后台系统都在播放视频,则当以预定的截取频率多次截取系统切换前时前、后台系统的截屏显示数据时,用户可以同时观察前、后台系统的视频播放情况。

本发明的技术方案提供解决针对多系统切换时的切换动画显示问题的方案。首先,检测到针对多系统前后台切换的触发操作,获取系统切换时与前、后台系统分别相应的切换显示数据;随后,播放系统切换动画,且前、后台系统执行切换操作,在前、后台系统执行切换操作的过程中,控制播放系统切换动画以配合系统切换过程,以平缓地呈现方式将前后系统的显示屏幕画面进行过渡切换,确保了用户不易察觉到系统切换过程中屏幕显示的并非真实系统显示数据。在前、后台系统的屏幕画面对比度差异较大的情况下,应用本发明提供的多系统切换时的切换动画显示方法,可以给用户提供平滑过渡的系统切换视觉效果,从而提高用户观看感受。

图3为本发明另一优选实施例的多系统切换时的切换动画显示装置的结构示意图,该装置包括:数据获取模块310、动画生成模块320、动画播放模块330、系统切换模块340、数据展示模块350。以下针对各个模块的具体作用做进一步的说明:

数据获取模块310检测到针对多系统前后台切换的触发操作,获取系统切换时与前、后台系统分别相应的切换显示数据。

优选地,系统切换时与前、后台系统分别对相应的切换显示数据包括系统切换前时前、后台系统的截屏显示数据。可选地,系统切换时与前、后台系统分别对相应的切换显示数据还可以包括与前、后台系统分别对应的预定显示数据,如系统标识图片;例如,前台系统A是安卓系统,则与系统A对应的系统标识图片。

需要说明的是,下述实施例以系统切换时与前、后台系统分别对相应的切换显示数据为系统切换前时前、后台系统的截屏显示数据的情形为例来进行实施例的详述。

具体地,多系统前后台切换的触发操作包括但不限于以下方式:

(1)按下预定的前后台切换物理按键;例如,设定按键SWITCH为系统切换按键,当终端设备检测到用户按下SWITCH的操作时即可触发系统前后台的切换操作。

(2)以预定的按键方式按下相应的物理按键;例如,预定同时按下音量增大减小按键超过3秒即可触发系统前后台的切换操作,当终端设备检测到用户同时按下音量增大减小按键超过3秒的操作时即可触发系统前后台的切换操作。

(3)以系统预定的操作方式对终端设备进行操作,例如,对终端设备进行水平翻转即可触发系统前后台的切换操作。

以上三种触发操作是由Linux内核和驱动程序通过硬件按键、或感应器检测到,并且根据操作识别出是否需要进行系统前后台的切换操作;随后Linux内核通知多系统执行前后台切换相关的操作。

(4)以预定的手势在屏幕上进行触摸操作;例如,在屏幕上执行触摸轨迹为划五角星形状的手势即可触发系统前后台的切换操作。

(5)当对前台系统中的切换图标执行触发操作时,即可触发系统前后台的切换操作,如对与系统切换相应的节点文件进行相应操作。

以上两种触发操作均为软件触发方式。例如,在前台系统的状态栏上设置切换图标,当前台系统检测到用户点击该切换图标时,基于点击操作对Linux内核提供的与多系统前后台切换对应的文件节点执行相应操作,如对文件节点dev/switch进行写入操作,如写入“1”,当Linux内核检测到/dev/switch执行写入“1”的操作时即可通知多系统执行前后台切换操作。

需要说明的是,多系统都是基于相同的物理内核,且多系统之间一般不直接通讯,其之间可以通过内核进行系统间通讯,或者通过进程间通信来实现系统间的数据传递。

优选地,在数据获取模块310获取系统切换前时前、后台系统的截屏显示数据之前,可以检测切换前时后台系统是否处于休眠状态,如果是,则需要唤醒后台系统。具体地,如果系统切换前时后台系统处于休眠状态,则后台系统对应的截屏显示数据为空或者为进入休眠状态之前的已过期的截屏显示数据,因此需要唤醒后台系统以刷新该系统对应的显示缓冲区域中存储的截屏显示数据。另外,如果预设启动后台系统的同时启动预定的应用程序,也需要通过唤醒后台系统以启动预定的应用程序。例如,前台系统是A系统,后台系统是B系统,预设启动后台系统B的同时启动通话应用程序。在系统切换前,后台系统B处于休眠状态,出于对节能等设计因素的考虑,预设后台B系统进入休眠状态时,不必要开启的应用程序都相应地被关闭,且该应用程序包括通话应用程序。由于预设启动后台系统B的同时启动通话应用程序,因此在获取系统切换前时后台系统B的截屏显示数据之前,需要通过唤醒后台系统B以启动通话应用程序。另外,在启动通话应用程序后,后台系统B对应的显示缓冲区域中存储的截屏显示数据相应地被更新。

当在前台系统中实现系统切换动画时,将后台系统的截屏显示数据通过进程间通信方式或通过内核传递方式从后台系统发送至前台系统;当在后台系统中实现系统切换动画时,将前台系统的截屏显示数据通过进程间通信方式或通过内核传递方式从前台系统发送至后台系统。

例如,系统A为前台系统,系统B为后台系统,在切换前的前台系统A中启动切换动画应用;切换动画应用直接读取前台系统A的截屏显示数据;前台系统A通过进程间通信方式或通过内核传递方式获取后台系统B的截屏显示数据;切换动画应用读取通过前台系统A获取的后台系统B的截屏显示数据。

又例如,系统A为后台系统,系统B为前台系统,在切换前的后台系统A中启动切换动画应用;切换动画应用直接获取切换前时后台系统A的截屏显示数据;后台系统A通过进程间通信方式或通过内核传递方式获取切换前时前台系统B的截屏显示数据,并将该截屏显示数据发送至在切换前时后台系统A中启动的切换动画应用。

动画生成模块320基于系统切换时与前、后台系统分别对应的切换显示数据生成系统切换动画。

优选地,通过切换动画应用生成系统切换动画。

例如,切换动画应用在前台系统A时,分别获取系统切换前时前台系统A和后台系统B的截屏显示数据,并分别标识为FB_A_T0和FB_B_T0。切换动画应用SwitchAnimation以前台系统A的截屏显示数据FB_A_T0作为系统切换动画开始时的图片,并以后台系统B的截屏显示数据FB_B_T0作为系统切换动画结束时的图片生成系统切换动画。

动画播放模块330播放系统切换动画,且系统切换模块340控制执行前、后台系统切换操作。

优选地,通过以下任一项来实现播放系统切换动画,并执行前后台系统切换操作:动画播放模块播放系统切换动画结束时,系统切换模块340控制前后台系统执行切换操作;检测到前后台系统切换结束时,动画播放模块330播放系统切换动画;动画播放模块及系统切换模块通过控制独立于前后台系统的第三方系统播放系统切换动画并控制前后台系统执行切换操作。

优选地,通过切换动画应用播放系统切换动画。

其中,动画播放模块330和系统切换模块340具体用于以下情形:

(1)在切换前的前台系统启动切换动画应用,则首先动画播放模块330播放系统切换动画,在播放结束时系统切换模块340控制前后台系统执行切换操作。

例如,系统A为前台系统,系统B为后台系统,在切换前的前台系统A中启动切换动画应用;首先,分别获取系统切换前时前台系统A和后台系统B的截屏显示数据,并分别标识为FB_A_T0和FB_B_T0;随后,在切换前的前台系统A启动切换动画应用SwitchAnimation,切换动画应用SwitchAnimation获取到前台系统A和后台系统B的截屏显示数据,并据此生成系统切换动画,该系统切换动画可以将前台系统A和后台系统B的截屏显示数据相结合以立方体旋转的形式呈现或以前台系统A的截屏显示数据向后台系统B的截屏显示数据进行过渡的形式呈现;接着,切换动画应用SwitchAnimation播放系统切换动画,以前台系统A的截屏显示数据FB_A_T0作为系统切换动画开始时的图片,此时虽然切换动画应用SwitchAnimation启动了,但其显示的内容为前台系统A的截屏显示数据FB_A_T0,且截屏显示数据FB_A_T0的内容与切换前前台系统A实际显示的内容是一致的,所以用户并不能察觉切换动画应用SwitchAnimation的启动操作,在播放系统切换动画的过程中,显示内容由前台系统A的截屏显示数据FB_A_T0向后台系统B的截屏显示数据FB_B_T0过渡,当显示内容完全过渡到FB_B_T0时,以后台系统B的截屏显示数据FB_B_T0作为系统切换动画结束时的图片;最后,在播放结束时前台系统A、后台系统B执行切换操作,此时,前台系统A释放显示设备,后台系统B获得显示设备,前台系统A及切换动画应用SwitchAnimation均被切换到后台。

(2)在切换前的后台系统启动切换动画应用,则首先系统切换模块340控制前后台系统执行切换操作,在切换完成时动画播放模块330播放系统切换动画。

例如,系统A为后台系统,系统B为前台系统,在切换前的后台系统A中启动切换动画应用;首先,分别获取系统切换前时后台系统A和前台系统B的截屏显示数据,并分别标识为FB_A_T0和FB_B_T0;随后,后台系统A、前台系统B执行切换操作;接着,在切换前时前台系统B中启动切换动画应用SwitchAnimation,切换动画应用SwitchAnimation获取到后台系统A和前台系统B的截屏显示数据,并据此生成系统切换动画;在系统A、系统B执行完切换操作时,切换后处于后台的系统B释放显示设备,切换后处于前台的系统A获得显示设备,处于切换后前台系统A的切换动画应用SwitchAnimation播放系统切换动画,以系统B的截屏显示数据FB_B_T0作为系统切换动画开始时的图片,此时虽然系统A、系统B执行完切换操作了,但显示内容仍为切换后处于后台的系统B的截屏显示数据FB_B_T0,所以用户并不能察觉已执行前、后台系统切换,在播放系统切换动画的过程中,显示内容由系统B的截屏显示数据FB_B_T0向系统A的截屏显示数据FB_A_T0过渡,当显示内容完全过渡到FB_A_T0时,以系统A的截屏显示数据FB_A_T0作为系统切换动画结束时的图片。

(3)在第三方系统启动切换动画应用,则在系统切换模块340控制前后台系统执行切换操作的过程中,动画播放模块330播放系统切换动画。

例如,系统A为前台系统,系统B为后台系统,在第三方系统C中启动切换动画应用;首先,分别获取系统切换前时前台系统A和后台系统B的截屏显示数据,并分别标识为FB_A_T0和FB_B_T0,在第三方系统C启动切换动画应用SwitchAnimation;随后,前台系统A、第三方系统C执行切换操作,前台系统A释放显示设备,第三方系统C获取显示设备,切换动画应用SwitchAnimation以前台系统A的截屏显示数据FB_A_T0作为系统切换动画开始时的图片播放系统切换动画,此时虽然显示设备由第三方系统C占用,但显示的内容为前台系统A的截屏显示数据FB_A_T0,且截屏显示数据FB_A_T0的内容与切换前前台系统A实际显示的内容一致,故用户并不能察觉切换动画应用SwitchAnimation的启动操作,在播放系统切换动画的过程中,显示内容由前台系统A的截屏显示数据FB_A_T0向后台系统B的截屏显示数据FB_B_T0过渡,当显示内容完全过渡到FB_B_T0时,以后台系统B的截屏显示数据FB_B_T0作为系统切换动画结束时的图片;最后,在播放结束时第三方系统C和系统B执行切换操作,第三方系统C释放显示设备,系统B切换至前台获取显示设备,系统A及第三方系统C均被切换到后台。

优选地,动画播放模块330具体用于在当前处于前台的系统的展示界面顶层播放系统切换动画。

具体地,在当前处于前台的系统的展示界面顶层播放系统切换动画可以通过设置播放系统切换动画的窗口Z次序实现。其中,设置播放系统切换动画的窗口Z次序可以使系统切换动画窗口在重叠窗口堆中处于顶层位置。其中,窗口堆是沿着预设的轴排顺序的,该预设的轴是从屏幕向屏幕空间外延伸的虚拟Z轴。因此,窗口Z次序排序最高的窗口覆盖所有其它窗口Z次序排序低的窗口。另外,设置窗口A沿着预设的虚拟Z轴排顺序的位置是通过把该窗口A设置在给定窗口B的后面,或是将窗口A设置在所有窗口的顶部或底部。

例如,Windows系统包括三个独立的窗口Z次序用于管理不同的窗口:用于管理兄弟窗口(兄弟窗口为共享同一个父窗口的子窗口;其中,一个父窗口是一个窗体,每一个父窗口不是其他任一个窗体的子窗口。子窗口是窗体上的控件或按钮等物件)的窗口Z次序、用于管理顶层窗口的窗口Z次序、用于管理最顶层窗口的窗口Z次序。其中,最顶层窗口覆盖所有其它非最顶层的窗口,Windows系统中的应用程序通过设置WS_EX_TOPMOST属性创建最顶层窗口。一般情况下,Windows系统设置最新创建窗口的窗口Z次序排序最高,用户可通过激活一个窗口来改变窗口Z次序,Windows系统设置活动窗口的窗口Z次序排序最高。另外,Windows系统中的应用程序可以通过函数BringWindowToTop设置一个窗口的窗口Z次序,也可以通过函数SetWindowPos和DeferWindowPos来重排窗口的窗口Z次序。

数据展示模块350展示切换后处于前台的系统的实时显示数据。

例如,系统A为前台系统,系统B为后台系统,在切换前的前台系统A中启动切换动画应用SwitchAnimation;首先播放系统切换动画,以前台系统A的截屏显示数据FB_A_T0作为系统切换动画开始时的图片,在播放系统切换动画的过程中,显示内容由前台系统A的截屏显示数据FB_A_T0向后台系统B的截屏显示数据FB_B_T0过渡,当显示内容完全过渡到FB_B_T0时,以后台系统B的截屏显示数据FB_B_T0作为系统切换动画结束时的图片;在播放结束时前、后台系统执行切换操作,切换后处于后台的系统A释放显示设备,切换后处于前台的系统B获得显示设备,显示系统B的实时显示数据FB_B_T1。在后台系统B没有与用户交互的情况下,FB_B_T0和FB_B_T1的内容基本相同,所以FB_B_T0向FB_B_T1的内容的过渡是平缓的。

又例如,系统A为后台系统,系统B为前台系统,在切换前的后台系统A中启动切换动画应用SwitchAnimation;首先前、后台系统执行切换操作;切换动画应用SwitchAnimation在切换完成时播放系统切换动画,以切换前处于前台的系统B的截屏显示数据FB_B_T0作为系统切换动画开始时的图片,在播放系统切换动画的过程中,显示内容由系统B的截屏显示数据FB_B_T0向切换前处于后台的系统A的截屏显示数据FB_A_T0过渡,当显示内容完全过渡到FB_A_T0时,以系统A的截屏显示数据FB_A_T0作为系统切换动画结束时的图片,此时,前、后台系统已执行完切换操作,显示切换后处于前台的系统A的实时显示数据FB_A_T1。在系统A没有与用户交互的情况下,FB_A_T0和FB_A_T1的内容基本相同,所以FB_A_T0向FB_A_T1的内容的过渡是平缓的。

再例如,系统A为前台系统,系统B为后台系统,在第三方系统C中启动切换动画应用SwitchAnimation;前台系统A、后台系统B执行切换操作过程中,首先系统A释放显示设备,第三方系统C获取显示设备,在第三方系统中启动的切换动画应用SwitchAnimation以前台系统A的截屏显示数据FB_A_T0作为系统切换动画开始时的图片播放系统切换动画,在播放系统切换动画的过程中,显示内容由前台系统A的截屏显示数据FB_A_T0向后台系统B的截屏显示数据FB_B_T0过渡,当显示内容完全过渡到FB_B_T0时,以后台系统B的截屏显示数据FB_B_T0作为系统切换动画结束时的图片;最后,在播放结束时第三方系统C释放显示设备,切换后处于前台的系统B获取显示设备,显示切换后处于前台的系统B的实时显示数据。

上述发明实施例是针对多系统前后台切换的触发操作执行时间较短的情况:只需分别获取一次系统切换前前台系统和后台系统的截屏显示数据,并生成系统切换动画。在针对多系统前后台切换的触发操作执行时间较长的情况下,则可以在切换动画应用播放动画的过程中不断地获取前台系统和后台系统的截屏显示数据,并生成系统切换动画。其中,针对多系统前后台切换的触发操作执行时间长短与用户切换系统的操作的执行时间相关,例如,用户通过手势滑动切换系统,且手势滑动过程较长,则系统切换过程的时间也相应较长。

优选地,数据获取模块310具体用于检测到针对多系统前后台切换的触发操作执行时间大于预先设定时间阈值,以预定的截取频率多次截取系统切换时与前、后台系统分别相应的切换显示数据;其中,动画生成模块320具体用于基于多次截取得到的系统切换时与前、后台系统分别相应的切换显示数据生成系统切换动画。

例如,如图2所示,检测到针对多系统前后台切换的触发操作执行时间为“3s”,且大于设定时间阈值“2s”,则在多系统前后台切换的触发操作执行过程的第一秒、第二秒和第三秒共分别截取三次系统切换前时前、后台系统的截屏显示数据;切换动画应用基于上述三次屏幕截取操作获取的截屏显示数据生成系统切换动画,并以三维旋转的形式播放该系统切换动画。需要说明的是,如果前、后台系统都在播放视频,则当以预定的截取频率多次截取系统切换前时前、后台系统的截屏显示数据时,用户可以同时观察前、后台系统的视频播放情况。

本发明的技术方案提供解决针对多系统切换时的切换动画显示问题的方案。首先,检测到针对多系统前后台切换的触发操作,获取系统切换时与前、后台系统分别相应的切换显示数据;随后,播放系统切换动画,且前、后台系统执行切换操作,在前、后台系统执行切换操作的过程中,控制播放系统切换动画以配合系统切换过程,以平缓地呈现方式将前后系统的显示屏幕画面进行过渡切换,确保了用户不易察觉到系统切换过程中屏幕显示的并非真实系统显示数据。在前、后台系统的屏幕画面对比度差异较大的情况下,应用本发明提供的多系统切换时的切换动画显示方法,可以给用户提供平滑过渡的系统切换视觉效果,从而提高用户观看感受。

本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically Erasable ProgrammableRead-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。

本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。

本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。

以上仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号