CN117271042B - 切换应用的方法和电子设备 - Google Patents

切换应用的方法和电子设备 Download PDF

Info

Publication number
CN117271042B
CN117271042B CN202311476752.0A CN202311476752A CN117271042B CN 117271042 B CN117271042 B CN 117271042B CN 202311476752 A CN202311476752 A CN 202311476752A CN 117271042 B CN117271042 B CN 117271042B
Authority
CN
China
Prior art keywords
application
action
starting
sliding
distance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311476752.0A
Other languages
English (en)
Other versions
CN117271042A (zh
Inventor
夏兴锁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202311476752.0A priority Critical patent/CN117271042B/zh
Publication of CN117271042A publication Critical patent/CN117271042A/zh
Application granted granted Critical
Publication of CN117271042B publication Critical patent/CN117271042B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • G06F3/04186Touch location disambiguation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Abstract

本申请提供一种切换应用的方法和电子设备,该方法包括:在电子设备上运行并显示第一应用的第一页面;响应于用户在第一页面中的滑动手势操作,执行退出第一应用并启动第二应用的动效;在检测到滑动手势操作从起点开始滑过的距离大于或等于误触碰距离阈值时,执行以下操作:在电子设备的后台拉起第二应用,并使得第二应用以全透明状态存在,以及执行第一应用的退出动效;在检测到滑动手势操作从起点开始滑过的距离大于或等于第一距离阈值时,将滑动手势操作在第一页面上的实时位移参数发送给第二应用;基于接收到的实时位移参数,执行第二应用的启动动效。该方案通过让两个应用之间共享位移参数,实现两个动效的和谐统一,实现动效的平滑衔接。

Description

切换应用的方法和电子设备
技术领域
本申请涉及电子设备技术领域,尤其涉及一种切换应用的方法和电子设备。
背景技术
通过触摸点击图标等方式来启动应用已经非常广泛,而且无论是启动应用和退出应用都会配备有相应的动效。
在传统方案中,两个应用进行切换的时候,一个应用的退出动效和另一个应用的启动动效是两个应用各自播放自己的动效的,容易产生画面的割裂感。以从桌面应用通过下拉手势操作打开搜索应用为例,不仅是画面割裂且不够自然,还可能出现画面重叠混乱的情况,影响用户的使用观感。
因此如何在应用切换的时候实现更加统一流畅,更加平滑的动效过程是亟待解决的技术问题。
发明内容
本申请提供一种切换应用的方法和电子设备,能够在应用切换的时候实现更加统一流畅,更加平滑的动效过程。
第一方面,提供了一种切换应用的方法,该方法包括:在电子设备上运行第一应用,并显示第一应用的第一页面;响应于用户在第一页面中以可进行手势滑动的区域中的任意点为起点的滑动手势操作,执行退出第一应用的动效和启动第二应用的动效,滑动手势操作用于触发退出第一应用并启动第二应用的进程;在执行退出第一应用的动效和启动第二应用的动效期间,在检测到滑动手势操作从起点开始滑过的距离大于或等于误触碰距离阈值时,执行以下操作:在电子设备的后台拉起第二应用,并使得第二应用以全透明状态存在,以及执行第一应用的退出动效;在执行退出第一应用的动效和启动第二应用的动效期间,在检测到滑动手势操作从起点开始滑过的距离大于或等于第一距离阈值时,将滑动手势操作在第一页面上的实时位移参数发送给第二应用,以及基于接收到的实时位移参数,执行第二应用的启动动效,第一距离阈值是根据第一应用的退出动效需要的滑动距离和误触碰距离阈值之和设置的。
在本申请技术方案中,主要通过将滑动手势操作的实时位移数据跨应用传输给另一个应用,实现动效的平滑衔接,并且先将要启动的应用以全透明的状态挂在后台,能够使得第二应用对滑动手势操作的响应时间缩短,相当于提前先准备好,这样只要一旦第一应用的退出动效结束就可以立刻开始第二应用的启动动效了,实现无缝衔接,使得整个切换应用的过程中,动效的播放都是统一流畅和平滑的。
结合第一方面,在第一方面的某些实现方式中,当该方案还包括在后台拉起第二应用的同时,同步开始在第一应用和第二应用之间建立跨进程连接的通信通道的步骤情况下,步骤在执行退出第一应用的动效和启动第二应用的动效期间,在检测到滑动手势操作从起点开始滑过的距离大于或等于第一距离阈值时,将滑动手势操作在第一页面上的实时位移参数发送给第二应用,以及基于接收到的实时位移参数,执行第二应用的启动动效,可以包括:当通信通道建立成功时,通过通信通道将实时位移参数发送给第二应用,以使得第二应用基于接收到的实时位移参数执行第二应用的启动动效;或者,当通信通道没有建立成功时,根据滑动手势操作从起点开始滑过的距离,确定按照预设参数执行第二应用的启动动效,或,转为执行第一应用的退出动效的反向动效。
在这种实现方式中,考虑了通信通道有建立成功和没有建立成功两种可能,如果建立成功,就可以通过该通道去传输实时位移参数,实现动效的无缝衔接的接续,而如果没有建立成功则会根据滑过的距离的实际滑过距离来决定是继续按照预设参数完成启动动效还是终止启动改为把第一应用再恢复到原本页面显示的状态。
还应理解,反向动效是指将已经执行的动效反向执行,所以不能直接将启动动效和退出动效理解为互为反动效。例如,此处相当于是取消第一应用的退出,而不是重新启动第一应用,所以此处称之为执行第一应用的退出动效的反向动效更为合适。虽然过程呈现上跟启动动效类似,但过程上是不同的,例如桌面是比较特殊的应用,一般也很少会设置启动动效,一般开机之后就立马显示了。或者,有的电子设备会播放一段产品型号相关的动画,明显取消退出的时候不会播放这样的动画。简而言之,对于启动动效和退出动效是互为相反关系的应用而言,可以互相看成对方的反向动效,但是有很多应用启动动效和退出动效并不是互为相反关系的,可能动效类型都不同,那此时明显用反向动效去描述更为准确。
在一个例子中,上述当通信通道没有建立成功时,根据滑动手势操作从起点开始滑过的距离,确定按照预设参数执行第二应用的启动动效,或,转为执行第一应用的退出动效的反向动效的步骤可以包括:当滑动手势操作从起点开始滑过的距离大于或等于第二距离阈值时,根据第二应用的启动动效的预设参数执行第二应用的启动动效,第二距离阈值大于第一距离阈值且小于第三距离阈值,第三距离阈值是根据第二应用执行启动动效需要的距离和第一距离阈值之和确定的;或者,当滑动手势操作在结束时从起点开始滑过的距离小于第二距离阈值且大于第一距离阈值时,转为执行第一应用的退出动效的反向动效。在这个例子中,在连接没建立成功的情况下,如果滑过的距离也够长了,就说明要么是因为滑太快来不及建立好,要么是有其他故障等问题导致短时间内也不可能建好了,也就是预计等滑栋结束也建不好,那就不应该再等建立了,所以会直接转为按照预设参数去执行启动动效,相当于按照兜底方案继续启动;而如果滑过的距离不够长,那就终止第二应用的启动,转为恢复到第一应用的页面,也就是执行第一应用的退出动效的反动效。此处还应理解,因为前提是没有建立成功,而且第二距离阈值是大于第一距离阈值的,所以说明是相当于在结束了第一应用的退出动效之后又等待了一段距离(从第一距离阈值到第二距离阈值这一段)的,但又不能一直等下去,所以此时才决定按照滑过距离看后续该继续启动第二应用还是恢复到第一应用,而对于第二种情况距离不够又没建立成功,那就是恢复到第一应用,此时由于第一应用的退出动效执行结束了,而第二应用因为没有建立成功还没开始执行启动动效,所以反向动效只有第一应用的退出动效的反向动效,并没有第二应用的启动动效的反向动效。
在另一个例子中,上述当通信通道建立成功时,通过通信通道将实时位移参数发送给第二应用,以使得第二应用基于接收到的实时位移参数执行第二应用的启动动效的步骤可以包括:在通信通道建立成功之后,当检测到滑动手势操作结束时,根据第二应用已执行的启动动效的进度,确定按照最后一次传输给第二应用的实时位移参数继续执行第二应用的启动动效,或,转为执行第二应用的启动动效的已执行部分的反向动效以及接续执行第一应用的退出动效的反向动效。在这个例子中,在连接建立成功的前提下,就可以实时共享位移参数,使得第二应用的启动动效能无缝接续播放(执行),如果一直到第二应用的启动动效播放完毕都还在滑动,那就可以一直跟手执行启动动效,但是,如果在第二应用的启动动效播放完毕之前结束了滑动(也就是抬手,滑动手势操作结束),那依然会导致动效的中断,所以此时可以更精细的进行情况细分,如果结束滑动的时候第二应用已经执行了相当一部分启动动效了,此时可以继续让第二应用的启动动效执行下去,但由于没有实时位移参数的更新了,所以后续的执行职能参照最后一次的实时位移参数继续执行;如果结束滑动的时候第二应用虽然也执行了一部分,但是不算多,那就可以执行第二应用的启动动效的已执行部分的反向动效,以及在执行完这部分之后接续执行第一应用的退出动效的反向动效,从而恢复到第一应用的显示页面(第一页面)。
结合第一方面,在第一方面的某些实现方式中,上述方法还包括:在检测到滑动手势操作结束时从起点开始滑过的距离小于第一距离阈值且大于误触碰距离阈值时,转为执行第一应用的退出动效的已执行部分的反向动效。在这种实现方式中,滑过的距离不足以等到第一应用的退出动效播放完毕,此时第二应用的启动动效还没开始,也不需要考虑通道建立结果,所以直接执行退出动效的已执行部分的反向动效即可。如上所述,反向动效虽然类似于启动动效,但并不等同于启动动效,例如此处就不是完整的退出动效,所以称之为反向动效更合理。这种情况下,由于距离不足以等到第二应用的启动动效的播放,所以不启动第二应用了,就要恢复到第一应用的第一页面的状态。
结合第一方面,在第一方面的某些实现方式中,上述方法还包括:根据电子设备的处理能力和/或预配置规则,调整第一应用的退出动效和/或第二应用的启动动效的动效参数;预配置规则中包括多种电子设备的机型和每种机型的对应动效参数。应用切换的动效有很多种,而且也有多个动效叠加的情况,而动效越复杂,对于电子设备的软件和硬件要求也就越高。所以可以通过分层动效的方式为不同电子设备进行应用切换时的动效的定制化设置。例如,对于电子设备的处理能力较高的时候,可以采用复杂、多样的动效,以及每个动效的变化步长可以更小,这样变化过程更有无极的感受。而对于电子设备的处理能力较低的时候,可以采用简单、单一的动效,以及动效的变化步长可以更大,这样变化过程被细分的更为粗略,防止执行过程的卡顿。还可以根据电子设备的机型去设置好动效参数,也就是做成一个表格,或者说建立好不同机型及其对应动效参数的预配置规则(相当于开关控制的形式),只要确定了电子设备机型,就可以执行配套的动效参数。
在一个例子中,所述动效参数包括动效数量、动效类型和动效的变化步长中的至少一项。
在另一个例子中,所述电子设备的处理能力与所述动效数量正相关;所述电子设备的处理能力与所述动效的变化步长负相关。
在另一个例子中,所述动效类型包括位移动效、模糊动效和透明动效。
在一种实现方式中,第一应用为桌面或负一屏,第二应用为搜索页面。
在这种实现方式的一个例子中,上述方法还包括:在第二应用的启动动效执行完毕时,显示搜索页面的首页,并在搜索页面的首页上加载键盘输入弹窗。
滑动手势操作也就是按住并滑动的手势操作,在滑动期间手指一直按压屏幕,一旦抬起手使得手指不再按压屏幕,就结束了滑动。电子设备可以根据滑动距离来匹配不同的响应动作。滑动方向可以包括上滑、下滑、左滑和右滑等。
在一种实现方式中,上述滑动手势操作的滑动方向为下滑。
第二方面,提供了一种执行切换应用的装置,该装置包括由软件和/或硬件组成的用于执行第一方面的任意一种方法的单元。
第三方面,提供了一种电子设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,当处理器执行计算机程序时使得该电子设备能够实现第一方面的任意一种方法。
第四方面,提供了一种芯片,包括处理器,该处理器用于读取并执行存储在存储器中的计算机程序,当计算机程序被处理器执行时使得该芯片所在的电子设备能够实现第一方面的任意一种方法。
可选地,该芯片还包括存储器,存储器与处理器电连接。
可选地,该芯片还可以包括通信接口。
第五方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,当计算机程序被电子设备执行时能够实现第一方面的任意一种方法。
第六方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,当计算机程序被电子设备执行时能够实现第一方面的任意一种方法。
附图说明
图1是传统方案的一种从桌面切换到搜索页面的动效执行过程的示意图。
图2是本申请实施例的一种切换应用的方法的示意性流程图。
图3是本申请实施例的一种切换应用的方法的原理示意图。
图4是本申请实施例的一种随着滑动距离变化播放动效的原理示意图。
图5是本申请实施例的另一种切换应用的示意性流程图。
图6是本申请实施例的另一种切换应用的执行过程的示意性流程图。
图7和图8是本申请实施例的一种切换应用的执行过程的示意图。
图9是本申请实施例的一种切换应用的装置的示意图。
图10是本申请实施例的一种电子设备的硬件结构示意图。
具体实施方式
下面结合附图对本申请实施例的方案进行介绍。
图1是传统方案的一种从桌面切换到搜索页面的动效执行过程的示意图。图1主要给出了应用切换的时候,两个应用的动效执行的时候画面不和谐流畅的情况的示例。在这个例子中,以从桌面应用切换到搜索应用为例。如图1所示,在界面101所示的桌面页面中,包含一些图标,用户可以点击桌面上的应用图标进入到相应的应用中。还应理解,桌面其实也是一个应,用于管理这些图标,以及展示各种信息等。假设用户在桌面的任意一处按住并下滑,也就是执行下滑手势操作,或者称之为下拉操作,就可以出触发启动搜索页面,搜索页面也是一个应用,所以这个过程就是从一个应用切换到另一个应用的过程。
以用户以界面101中的A点为起点按住并按照界面箭头所示方向下滑,就可以触发启动搜索页面了。首先,为了防止误触碰,会设置一个距离范围,只有超过这个限制才会认为是有切换意向的。此处以B点对应的就是这个距离限制值的示例为例,也就是下滑距离在AB之间的时候,电子设备不会启动搜索页面,是从B点开始,确认了不是误触碰,才开始启动搜索页面。而启动搜索页面的时候还需要将桌面应用退出,所以这个应用的切换过程中,桌面将会做桌面页面变模糊并逐渐透明的动效,以及还可能做下移图标推出屏幕的动效,而搜索页面也会做页面从透明到不透明的动效,以及做画面逐渐下移展示到屏幕上的动效。如界面103所示,就是搜索应用(app)的位移和去透明动效,使得搜索页面的画面逐渐加深并被推入屏幕中,而与此同时,桌面app也的透明动效,也是的画面逐渐变为完全透明,从而直到桌面画面完全透明后不再肉眼可见。假设执行完二者的动效对应的位置就是界面103所示的C点,那么当用户在C点之后结束下滑,抬起手指,就可以呈现出界面104所示的画面,界面104中,桌面app的画面已经没有了,只有完全不透明的搜索页面。
从界面103可以看出,存在两个动效“打架”的情况,因为两个应用的动效是各自独立执行的,桌面执行退出的动效,搜索执行启动的动效,导致整个切换过程的观感很差,画面并不和谐流畅。
针对上述问题,本申请实施例提出了一种新的切换应用的方法,通过让两个应用之间共享位移参数,实现两个动效的和谐统一。
图2是本申请实施例的一种切换应用的方法的示意性流程图。下面对图2所示各个步骤进行介绍。
S201、在电子设备上运行第一应用,并显示第一应用的第一页面。
电子设备可以是手机、平板电脑、触摸屏笔记本电脑等各类触摸屏电子设备,只要能够进行滑动手势操作和响应和运行应用程序即可。
第一应用可以是能够在其运行页面上通过滑动手势操作来启动另外一个应用即可。在本申请实施例中,为了便于理解,主要以第一应用为桌面应用或负一屏为例。第一页面可以是第一应用的首页或其他页面,当第一应用为桌面应用时,第一页面可以是包括很多应用图标的桌面页面。桌面应用可以包括一个或多个页面,方便用户管理图标。第一应用为负一屏时,负一屏中可以包括多个服务的桌面卡片,可以看成是用来管理卡片的应用,卡片相当于图标的进阶,能够在具备跟图标相同的启动应用的功能之外,还可以将一些必要信息直接显示,例如天气、时间、运动步数等,方便用户不用打开应用就可以看到这些必要信息。当第一应用为负一屏时,第一页面可以是包括这些服务卡片的页面。负一屏可以通过在桌面页面上的左滑或右滑手势切换页面的方式打开,右滑手势更为常见。
在一种实现方式中,第一应用为桌面或负一屏,第二应用为搜索页面。
在这种实现方式的一个例子中,上述方法还包括:在第二应用的启动动效执行完毕时,显示搜索页面的首页,并在搜索页面的首页上加载键盘输入弹窗。
S202、响应于用户在第一页面中以可进行手势滑动的区域中的任意点为起点的滑动手势操作,执行退出第一应用的动效和启动第二应用的动效,滑动手势操作用于触发退出第一应用并启动第二应用的进程。
可进行手势滑动的区域可以是去除包含有特殊功能的控件的区域,比如去掉顶部用来通过下滑拉出可快速启动功能列表或消息通知的区域,比如去掉底部用来上滑拉出后台保存的应用快照的区域等。
滑动手势操作也就是按住并滑动的手势操作,在滑动期间手指一直按压屏幕,一旦抬起手使得手指不再按压屏幕,就结束了滑动。电子设备可以根据滑动距离来匹配不同的响应动作。滑动方向可以包括上滑、下滑、左滑和右滑等。
在一种实现方式中,上述滑动手势操作的滑动方向为下滑。
一个应用退出会执行退出动效,也可以理解为退出应用的时候相对应的动画,而启动应用也会执行启动动效,也可以理解为启动应用的时候相对应的动画。
当检测到滑动手势操作,就可以触发应用的切换了,在此处即为第一应用的退出和第二应用的启动。
一个应用会包括很多进程,启动和关闭也都是需要依赖于进程的,可以分别称之为启动进程和关闭(退出或结束)进程。
S203、在执行退出第一应用的动效和启动第二应用的动效期间,在检测到滑动手势操作从起点开始滑过的距离大于或等于误触碰距离阈值时,执行以下操作:在电子设备的后台拉起第二应用,并使得第二应用以全透明状态存在,以及执行第一应用的退出动效。
由于电子设备是触屏的,触摸屏幕就可能有相应的响应,例如触摸指纹控件可以用来启动屏幕,熄屏点亮后任意的滑动可以启动桌面应用等。而手握电子设备的时候,难免会触摸到电子设备。为了避免对误触碰进行不必要的响应,所以可以设置误触碰距离阈值,只有滑动的距离大于或等于这个误触碰距离阈值的时候才会认为用户确实是在执行滑动手势操作。还应理解,滑动还涉及滑动方向,对于会打开哪个应用,怎么切换下一个应用,还会取决于预设的滑动方向的,例如,从桌面或负一屏切换到搜索页面,目前最常见的是下滑,也就是下拉。
误触碰距离阈值可以是电子设备的厂商根据电子设备的实际性能来设置,也可以是根据行业技术标准等来设置,不存在限定。在一个例子中,误触碰距离阈值为20像素(dp)。
在桌面切搜索的传统方案中,在检测到滑过的距离超过误触碰距离阈值的时候,就同时开始由桌面应用执行退出动效,以及搜索应用也同时开始执行启动动效,导致两个动效的交叉,出现画面的不流畅的问题。
而在本申请实施例中,希望整个动效期间播放更流畅,所以先执行前一个应用的退出动效,之后再执行第二个应用的启动动效,为了使得整个执行过程更加紧凑和无缝衔接从而更流畅,所以在开始执行前一个应用的退出动效的时候,就可以先拉起下一个应用了,相当于先让第二应用准备好,一旦前面的退出动效结束了,就很快接续执行启动动效,实现无缝衔接。而且为了使得第二应用的画面不会干扰前面的退出动效,所以让其先以全透明不可见(用户看不见这个画面)的状态存在。
在一种实现方式中,拉起第二应用可以通过启动动效(startActivity)这个模块拉起。
在另一种实现方式中,在检测到滑过的距离超过误触碰距离阈值的时候,上述方法还包括:在后台拉起第二应用的同时,同步开始在第一应用和第二应用之间建立跨进程连接的通信通道。在这种实现方式中,还同步开始建立跨进程连接,也是为了后续步骤执行的准备工作,因为后续在执行完前一个应用的启动动效之后就可以执行后一个应用的退出动效了。而为了使得衔接更好,势必需要第二应用也能获知滑动过的距离,建立跨进程连接就是为了后续可以传输位移参数。出于安全性考虑,电子设备上的不同应用之间往往是会进行进程隔离的,启动应用、退出应用都会分别对应一个或多个进程去执行,而这些进程在应用之间是被隔离的。所以在上述实现方式中,通过请求建立两个应用之间的跨进程连接来实现应用之间的数据共享。
在一个例子中,此处的跨进程连接的通信通道为binder通信。由于binder通信是很多应用都可能用来进行跨应用通信的媒介,所以不适合一直连接,也就是长时间连接,而是什么时候用到了什么时候建立,用完了也就关闭了,可以理解为每次需要用的时候都需要请求建立连接。所以对于本申请场景,就可能存在时间太短或滑动距离不够导致不足以建立好连接。比如,用户很快就滑了足够长的距离,时间不够建立好连接,又比如,用户滑动一定距离出发了开始建立通道之后,又滑过了不够长的距离就抬手了,导致没有再建立连接的必要,或者,导致时间长度不够建立好连接。这些情况都会导致没有建立成功。还应理解,在本申请实施例中,通信通道没有建立成功(也就是跨进程连接失败,或者称之为没有成功建立跨进程连接)主要是指滑太快或滑太短导致时间不够,来不及建立好。还有一种可能,就是其他进程已经在调用相同的通信通道去建立其他应用之间的连接了,但这种情况在正常情况下不会出现,因为电子设备在处理当前切换应用的进程的时候,后台还有其他正在进行的需要占用通信通道的进程的可能很低,除非出现错乱,否则不会这样去设计。同理,故障导致的建立失败也是可能较小。而即使是后面两种可能,也只会带来既定事实的结果,就是到了给连接预留的时间或距离了还没连接好,那就按照另外的处理逻辑去处理了。简而言之,本申请的方案,虽然主要考虑的滑太快导致时间不够连接好,但对于其他原因导致的连接失败,依然会被囊括在本申请方案的执行步骤中,不会导致无法进行后续步骤。
S204、在执行退出第一应用的动效和启动第二应用的动效期间,在检测到滑动手势操作从起点开始滑过的距离大于或等于第一距离阈值时,将滑动手势操作在第一页面上的实时位移参数发送给第二应用,以及基于接收到的实时位移参数,执行第二应用的启动动效,第一距离阈值是根据第一应用的退出动效需要的滑动距离和误触碰距离阈值之和设置的。
在一种实现方式中,当该方案还包括在后台拉起第二应用的同时,同步开始在第一应用和第二应用之间建立跨进程连接的通信通道的步骤情况下,步骤S204可以包括:当通信通道建立成功时,通过通信通道将实时位移参数发送给第二应用,以使得第二应用基于接收到的实时位移参数执行第二应用的启动动效;或者,当通信通道没有建立成功时,根据滑动手势操作从起点开始滑过的距离,确定按照预设参数执行第二应用的启动动效,或,转为执行第一应用的退出动效的反向动效。在这种实现方式中,考虑了通信通道有建立成功和没有建立成功两种可能,如果建立成功,就可以通过该通道去传输实时位移参数,实现动效的无缝衔接的接续,而如果没有建立成功则会根据滑过的距离的实际滑过距离来决定是继续按照预设参数完成启动动效还是终止启动改为把第一应用再恢复到原本页面显示的状态。
还应理解,反向动效是指将已经执行的动效反向执行,所以不能直接将启动动效和退出动效理解为互为反动效。例如,此处相当于是取消第一应用的退出,而不是重新启动第一应用,所以此处称之为执行第一应用的退出动效的反向动效更为合适。虽然过程呈现上跟启动动效类似,但过程上是不同的,例如桌面是比较特殊的应用,一般也很少会设置启动动效,一般开机之后就立马显示了。或者,有的电子设备会播放一段产品型号相关的动画,明显取消退出的时候不会播放这样的动画。简而言之,对于启动动效和退出动效是互为相反关系的应用而言,可以互相看成对方的反向动效,但是有很多应用启动动效和退出动效并不是互为相反关系的,可能动效类型都不同,那此时明显用反向动效去描述更为准确。
在一个例子中,上述当通信通道没有建立成功时,根据滑动手势操作从起点开始滑过的距离,确定按照预设参数执行第二应用的启动动效,或,转为执行第一应用的退出动效的反向动效的步骤可以包括:当滑动手势操作从起点开始滑过的距离大于或等于第二距离阈值时,根据第二应用的启动动效的预设参数执行第二应用的启动动效,第二距离阈值大于第一距离阈值且小于第三距离阈值,第三距离阈值是根据第二应用执行启动动效需要的距离和第一距离阈值之和确定的;或者,当滑动手势操作在结束时从起点开始滑过的距离小于第二距离阈值且大于第一距离阈值时,转为执行第一应用的退出动效的反向动效。在这个例子中,在连接没建立成功的情况下,如果滑过的距离也够长了,就说明要么是因为滑太快来不及建立好,要么是有其他故障等问题导致短时间内也不可能建好了,也就是预计等滑栋结束也建不好,那就不应该再等建立了,所以会直接转为按照预设参数去执行启动动效,相当于按照兜底方案继续启动;而如果滑过的距离不够长,那就终止第二应用的启动,转为恢复到第一应用的页面,也就是执行第一应用的退出动效的反动效。此处还应理解,因为前提是没有建立成功,而且第二距离阈值是大于第一距离阈值的,所以说明是相当于在结束了第一应用的退出动效之后又等待了一段距离(从第一距离阈值到第二距离阈值这一段)的,但又不能一直等下去,所以此时才决定按照滑过距离看后续该继续启动第二应用还是恢复到第一应用,而对于第二种情况距离不够又没建立成功,那就是恢复到第一应用,此时由于第一应用的退出动效执行结束了,而第二应用因为没有建立成功还没开始执行启动动效,所以反向动效只有第一应用的退出动效的反向动效,并没有第二应用的启动动效的反向动效。
在另一个例子中,上述当通信通道建立成功时,通过通信通道将实时位移参数发送给第二应用,以使得第二应用基于接收到的实时位移参数执行第二应用的启动动效的步骤可以包括:在通信通道建立成功之后,当检测到滑动手势操作结束时,根据第二应用已执行的启动动效的进度,确定按照最后一次传输给第二应用的实时位移参数继续执行第二应用的启动动效,或,转为执行第二应用的启动动效的已执行部分的反向动效以及接续执行第一应用的退出动效的反向动效。在这个例子中,在连接建立成功的前提下,就可以实时共享位移参数,使得第二应用的启动动效能无缝接续播放(执行),如果一直到第二应用的启动动效播放完毕都还在滑动,那就可以一直跟手执行启动动效,但是,如果在第二应用的启动动效播放完毕之前结束了滑动(也就是抬手,滑动手势操作结束),那依然会导致动效的中断,所以此时可以更精细的进行情况细分,如果结束滑动的时候第二应用已经执行了相当一部分启动动效了,此时可以继续让第二应用的启动动效执行下去,但由于没有实时位移参数的更新了,所以后续的执行职能参照最后一次的实时位移参数继续执行;如果结束滑动的时候第二应用虽然也执行了一部分,但是不算多,那就可以执行第二应用的启动动效的已执行部分的反向动效,以及在执行完这部分之后接续执行第一应用的退出动效的反向动效,从而恢复到第一应用的显示页面(第一页面)。
举例说明,假设第二应用的启动动效包括透明度alpha值从0到1渐变的动效,那么例如可以在已执行启动动效的进度为alpha值已经大于或等于0.4的情况下,按照最后一次的实时位移参数继续往下执行完alpha值从0.4到1的渐变,而如果已执行启动动效的进度为alpha值还小于0.4的情况下,先执行alpha值从0.4到0的渐变(也就是已执行进度的反向动效),然后再执行第一应用的退出动效的反向动效。应理解,在这个例子中,动效类型和具体数值都是为了便于理解方案,不存在限定,例如0.4也可以是0.5或其他合适的值。
在另一种实现方式中,上述方法还包括:在检测到滑动手势操作结束时从起点开始滑过的距离小于第一距离阈值且大于误触碰距离阈值时,转为执行第一应用的退出动效的已执行部分的反向动效。在这种实现方式中,滑过的距离不足以等到第一应用的退出动效播放完毕,此时第二应用的启动动效还没开始,也不需要考虑通道建立结果,所以直接执行退出动效的已执行部分的反向动效即可。如上所述,反向动效虽然类似于启动动效,但并不等同于启动动效,例如此处就不是完整的退出动效,所以称之为反向动效更合理。这种情况下,由于距离不足以等到第二应用的启动动效的播放,所以不启动第二应用了,就要恢复到第一应用的第一页面的状态。
应理解,在本申请方案中,第二应用的启动动效执行完毕时滑动手势操作还在继续这件事情基本不可能发生。因为从误触碰阈值到第一距离阈值之间,也就是第一应用的退出动效执行期间,必定会是跟手执行的,只有在第一应用的退出动效执行完转为执行第二应用的启动动效的时候,可能会因为连接的通信通道没建好导致来不及跟手,而只要建立好了必定也是会跟手的,但是在建立失败的时候,如果距离够就直接按照第二应用的预设参数执行启动动效了,如果距离不够就退出了,所以不可能出现第二应用的动效都结束了,滑动操作还继续的情况。
应用切换的动效有很多种,而且也有多个动效叠加的情况,而动效越复杂,对于电子设备的软件和硬件要求也就越高。所以可以通过分层动效的方式为不同电子设备进行应用切换时的动效的定制化设置。例如,对于电子设备的处理能力较高的时候,可以采用复杂、多样的动效,以及每个动效的变化步长可以更小,这样变化过程更有无极的感受。而对于电子设备的处理能力较低的时候,可以采用简单、单一的动效,以及动效的变化步长可以更大,这样变化过程被细分的更为粗略,防止执行过程的卡顿。还可以根据电子设备的机型去设置好动效参数,也就是做成一个表格,或者说建立好不同机型及其对应动效参数的预配置规则(相当于开关控制的形式),只要确定了电子设备机型,就可以执行配套的动效参数。
在另一种实现方式中,上述方法还包括:根据电子设备的处理能力和/或预配置规则,调整第一应用的退出动效和/或第二应用的启动动效的动效参数;预配置规则中包括多种电子设备的机型和每种机型的对应动效参数。
动效参数可以包括动效数量、动效类型和动效的变化步长中的至少一项。动效数量例如可以是一个或多个。动效类型例如可以包括位移动效、模糊动效和透明动效等。动效的变化步长可以理解为对于整个动效的切分,例如位移动效,变化步长就是一次推进(移动)的距离。例如假设一个屏幕长度是m,步长是0.1m,那么就是需要10次推进才能完成整个位移动效,而如果步长是0.5m,那么就只需要2次推进,很明显,细分越多,观感越好,但对于电子设备的处理能力或者说软硬件配置的要求也就越高。该例子数值不存在限定。
在图2所示方案中,主要通过将滑动手势操作的实时位移数据跨应用传输给另一个应用,实现动效的平滑衔接,并且先将要启动的应用以全透明的状态挂在后台,能够使得第二应用对滑动手势操作的响应时间缩短,相当于提前先准备好,这样只要一旦第一应用的退出动效结束就可以立刻开始第二应用的启动动效了,实现无缝衔接,使得整个切换应用的过程中,动效的播放都是统一流畅和平滑的。简而言之,通过让两个应用之间共享位移参数,实现两个动效的和谐统一,实现动效的平滑衔接。
图3是本申请实施例的一种切换应用的方法的原理示意图。图3以从应用A切换到应用B为例,进程A1表示应用A的退出进程,进程B1表示应用B的启动进程。应用A例如可以是桌面应用,应用B例如可以是搜索应用。
S301、在检测到超过安全距离后,通过启动动效(startActivity)预加载拉起进程B1,但让应用B处于全透明不可见状态。
安全距离可以看成是上述误触碰距离阈值的一例。startActivity的目的是为了预加载应用B的进程B1,也就是不等应用A的退出动效完成就先让应用B被拉起,但是为了防止画面干扰,会让应用B处于全透明不可见的状态,从而达到加快启动的效果。
S302、建立进程A1和进程B1之间的binder通信,用来传输位移信息。
binder通信是为了应用之间进行通信时常用的通信方式,但是binder通信不适合保持长连接,所以是每次切换都要重新申请建立连接的,所以会存在连接失败的可能,比如用户滑动太快,很快就滑动了足够长的距离,此时还没来得及建立连接,又比如,用户滑动一小段就抬手了,也导致时间不够建立好连接,就会出现建立连接不成功(建立连接失败)的情况。所以对于连接失败的时候,可以转为继续使用startActivity来传递兜底动效信息(也就是按照预设参数执行的启动动效)。
此处的位移信息可以理解为滑动操作的实时的位移参数。
在执行应用B的启动动效的时候,还可以根据电子设备的处理能力和/或预备制规则(例如在云侧设置不同动效模式和不同动效模式的开关),对于中低端电子设备,电子设备的处理能力较弱,可以开轻动效(对电子设备的处理能力要求较低的动效,例如可以减少一种动效,只用一种动效,或者,可以调整动效的变化梯度或变化步长),从而适配不同电子设备,实现分层动效。
S303、当binder通信建立失败时,通过startActivity传递兜底动效信息。
图4是本申请实施例的一种随着滑动距离变化播放动效的原理示意图。图4依然以桌面上下拉切换到搜索为例。
如图4所示,A点为触摸起始点,AB段为防误触碰距离,单位可以用dp表示,具体距离可以根据电子设备的实际情况设置。
BC段为跟手滑动距离,此段距离以50dp为例,在这段距离中,桌面壁纸会逐渐模糊,不透明度(alpha)从0到0.9逐渐增大,图标(用于表示手势触摸点)动态沿着屏幕的纵轴(Y轴)下拉。
如果在这段距离内两个应用之间的进程连接通信通道没有建立成功,图标继续跟手下移,桌面壁纸继续模糊,不透明度保持0.9不变。
在此距离内,即使两个应用之间的进程连接通信通道建立成功了也不播放搜索的启动动效,而是等过了50dp后才播放搜索的启动动效。因为在这段距离期间,还需要先播放桌面退出动效。
在CD段,以距离为60dp为例,是搜索的启动动效的播放期间。在两个应用之间的进程连接通信通道成功,且超过了50dp之后(如果从起始触摸点算起,那就是AC段,就是50dp加上AB段长度),执行搜索的启动动效。
搜索应用在这60dp内,跟手位移至预设位置,alpha从0到1逐渐增大。而桌面动效也在绑定成功后的10dp距离内执行alpha从0.9到1逐渐增大的动效。
在一些实现方式中,跟手滑动期间通信通道建立成功后继续下滑,当继续下滑的距离使得搜索(第二应用)的alpha值大于或等于0.4(也可以是其他预设不透明度阈值,例如0.5或0.6等)时,即使停止下滑,也继续完成搜索(第二应用)的启动;或者,当继续下滑直到抬手时的距离并没有使得搜索(第二应用)的alpha值不小于0.4,就执行搜索的启动动效的反向动效,以及执行桌面的退出动效的反向动效。
在继续完成第二应用的启动的时候,可以按照最后一次传输的位移参数,继续执行启动动效。
在另一些实现方式中,跟手滑动期间通信通道没有建立成功,但过误触碰距离阈值的距离超过了70dp(也就是BC段的50dp加上CE段中C之后的CD段的20dp),如果此时都还没有绑定成功,则走保底方案,按照搜索(第二应用)的预设参数播放完第二应用的启动动效,并且进入索索的首页;或者,跟手滑动期间通信通道没有建立成功,且过误触碰距离阈值的距离也没有超过70dp,就执行搜索的启动动效的反向动效,以及执行桌面的退出动效的反向动效。也就是对于快滑的时候来不及建立连接就已经结束滑动且滑过的距离也足够,那就直接按照第二应用的预设参数来播放其启动动效就可以了。
还应理解,这70dp是在当到达C的时候还没建立成功的情况下进行的等待,如果在C处或之前已经建立好连接了,就不需要等这CD段的20dp了,所以当在C处已经建立好连接之后就开始执行搜索的启动动效了。当在C处发现连接还没建好才会继续等20dp到D处如果都还没建好就不等了,直接按照上述判断逻辑看是继续播完启动动效还是执行反向动效。
在搜索首页呈现出来时,也就是alpha值为1的时候,可以在抬手的时候显示键盘输入的弹窗。也可以通过跟手上移使得当搜索的页面的alpha值小于0.4时,取消键盘输入的弹窗的显示。
图5是本申请实施例的另一种切换应用的示意性流程图。图5可以看成是图2所示方法的一个示例。图5以第一应用为桌面,第二应用为搜索,误触碰距离阈值对应的位置为位置A1,第一距离阈值对应的位置为A2,桌面的退出动效为位移动效和模糊动效,搜索的启动动效为位移动效和去透明度动效为例。
S501、在桌面下拉进入搜索应用,桌面监测到下滑一定距离,到达位置A1时,提前拉起搜索,并同时开始建立跨进程连接,此期间搜索应是全透明不可见状态。
此处的跨进程连接即为上述两个应用之间的跨进程连接的通信通道的示例。在一个例子中,此处的跨进程连接可以是binder通信。
S502、在A1位置后,继续手势下滑,桌面做位移和模糊动效,直至到达位置A2,在位置A2处桌面动效结束。
如果在此下滑期间,没有到达位置A2就停止了下滑,则桌面做相反方向的位移动效和去模糊动效。
如果在此下滑期间,上述通信通道建立成功,也先不执行搜索的启动动效,而是等待桌面动效执行完毕。
S503、在A2位置后,继续手势下滑,桌面传递实时位移数据给搜索,搜索基于桌面传过来的位移数据做相应动效,alpha值逐渐从0到1,同时做背景模糊。
在位置A2处,如果建立连接成功,就执行步骤S503。
在位置A2出如果建立连接失败,就继续下滑,如果直到超过给绑定服务预留的距离长度(例如图4中的过误触碰距离之后的70dp,也就是BC段的50dp加上C之后的20dp)都还是建立连接失败,则根据此时搜索的alpha值的大小来决定继续根据兜底动效来做搜索的启动动效还是做启动动效的反方向动效。可以参照图4相关内容。
在一些实现方式中,还可以根据电子设备的处理能力和/或与配置规则来动态判断是否需要删除位移动效,从而实现分层动效的效果。例如,如果处理能力较弱,就不执行位移动效,只执行透明度动效,或者,如果处理能力较强,就两个都执行。又例如可以是预配置规则中,去按照电子设备的机型来确定是否支持位移动效,从而对位移动效进行保留或删除。不再逐一列举。
图6是本申请实施例的另一种切换应用的执行过程的示意性流程图。图6中以应用A和应用B的切换为例,且以误触碰距离阈值为20dp,第一距离阈值为70dp,应用B的启动动效为位移动效和去透明动效为例。
S601、当用户在应用A的界面上开始滑动,但未超过20dp时,应用A不做响应。
S602、当用户在应用A的界面上在超过20dp后继续滑动时,应用A根据distance开始做动效。
也就是说,应用A做退出动效。
S603、在应用A处,以非兜底动效的方式通过startActivity拉起应用B,并且设置应用B为全透明的初始状态。
S604、绑定应用A和应用B之间的通信服务,也就是建立两个应用之间的binder通信。
当用户持续滑动70dp都为松手时,此时的distance值为0,也就是应用A的退出动效结束。
S605、应用A的画面继续往下移动,相当于位移动效继续执行。
S606、当绑定成功时,应用A记录此时的位移startSearchY。
S607、应用A传递实时位移给应用B(move(startSearchY,currentY))。
S608、应用B根据传入的SerchDistance值来进行界面的alpha显示。
应理解,S607和S608是持续进行的,直到在后续步骤的触发下结束,例如动效播放完毕,或者是抬手结束滑动。
S609、当从绑定成功到抬手,位移(y-searchY)大于0时,应用A的alpha逐渐增大到1。
S610、当应用A的画面的alpha值变为1时,停止往下移动,相当于停止位移动效。
S611、当从绑定成功到抬手,位移(y-searchY)小于或等于0时,应用A根据y-searchY反向播放动画。
图7和图8是本申请实施例的一种切换应用的执行过程的示意图。图7和突破 依然以从桌面切换到搜索为例。如图7中界面701所示,以桌面上的A点为起点按住并下滑,当滑动到B1的位置时,后台拉起搜索(第二应用)以全透明状态存在,并且开始建立两个应用的进程之间的连接,如界面702所示。B1就是误触碰距离阈值对应的位置,也就是滑动距离大于或等于A到B1这段才认为不是误碰,是在下滑切换应用。当滑过B1之后继续下滑就开始播放桌面的退出动效,此处以桌面逐渐变透明和位移动效为例,假设滑动到B2的时候就是桌面已经透明,而且可以看到图标也整体下移了一段距离,如界面703中所示。当继续下滑到B3位置,此时桌面退出动效播放结束,需要开始播放搜索的启动动效了,如界面704所示,此时桌面背景没有其他元素(已经透明和退出),而只是模糊的桌面背景,B3可以看成是第一距离阈值对应的位置。
当滑过B3继续下滑,此时就需要检查连接有没有建立好了,如果已经连接好了,就是桌面把实时位移通过建好的连接传输给搜索,然后搜索基于实时位移执行启动动效,如界面705所示,在B4位置搜索的位移动效和去透明度动效,使得页面被推入了屏幕上显示,并且画面逐渐加深。假设此时的alpha值小于0.4,用户抬手了,就会转为执行搜索的启动动效的已执行部分的反向动效,如界面707所示,alpha值更小了,而且画面也在屏幕上的部分少了,直到逐渐不再显示,然后接续会播放桌面的退出动效的反向动效,直到重新显示出界面701所示。而假设在B4处还在下滑,就可以看到界面706所示,整个搜索页面都显示在屏幕上,也就是搜索的启动动效播放完毕。
其他中途因为抬手和/或通道建立情况带来的动效变化不再逐一列举。
从图7和图8的示例可以看出,整个动效执行过程是连续统一的,更为流畅,也没有出现图1中界面103所示的“画面重叠打架”的情况。
上文主要结合附图对本申请实施例的方法进行了介绍。应理解,虽然如上所述的各实施例所涉及的流程图中的各个步骤依次显示,但是这些步骤并不是必然按照图中所示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。下面结合附图对本申请实施例的装置进行介绍。
图9是本申请实施例的一种切换应用的装置的示意图。如图9所示,该装置2000包括显示单元2001和处理单元2002。该装置2000可以是集成在手机、平板电脑、笔记本电脑等电子设备中。
该装置2000能够用于执行上文任意一种切换应用的方法。例如,显示单元2001可用于执行步骤S201,处理单元2002可用于执行步骤S202-S204。又例如,该装置2000还可以用于执行图3至图6所示各个步骤。该装置2000还可以用于执行图7和图8所示过程。
在一种实现方式中,装置2000还可以包括存储单元,用于存储相关数据。该存储单元可以是集成在上述任意一个单元中,也可以是独立于上述所有单元之外的单元。
图10是本申请实施例的一种电子设备的硬件结构的示意图。如图10所示,电子设备900可以包括处理器910,外部存储器接口920,内部存储器921,通用串行总线(universalserial bus,USB)接口930,充电管理模块940,电源管理模块941,电池942,天线1,天线2,移动通信模块950,无线通信模块960,音频模块970,扬声器970A,受话器970B,麦克风970C,耳机接口970D,传感器模块980,按键990,马达991,指示器992,摄像头993,显示屏994,以及用户标识模块(subscriber identification module,SIM)卡接口995等。其中,传感器模块980可以包括压力传感器980A,陀螺仪传感器980B,气压传感980C,磁传感器980D,加速度传感器980E,距离传感器980F,接近光传感器980G,指纹传感器980H,温度传感器980J,触摸传感器980K,环境光传感器980L,骨传导传感器980M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备900的具体限定。在本申请另一些实施例中,电子设备900可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
示例性地,图10所示的处理器910可以包括一个或多个处理单元,例如:处理器910可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备900的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器910中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器910中的存储器为高速缓冲存储器。该存储器可以保存处理器910刚用过或循环使用的指令或数据。如果处理器910需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器910的等待时间,因而提高了系统的效率。
在一些实施例中,MIPI接口可以被用于连接处理器910与显示屏994,摄像头993等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(display serial interface,DSI)等。处理器910和显示屏994通过DSI接口通信,实现电子设备900的显示功能。
在一些实施例中,GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。GPIO接口可以用于连接处理器910与摄像头993,显示屏994,无线通信模块960,音频模块970,传感器模块980等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备900的结构限定。在本申请另一些实施例中,电子设备900也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
电子设备900通过GPU,显示屏994,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏994和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器910可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏994用于显示图像,视频等。显示屏994包括显示面板。在一些实施例中,电子设备900可以包括1个或N个显示屏994,N为大于1的正整数。
内部存储器921可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器910通过运行存储在内部存储器921的指令,从而执行电子设备900的各种功能应用以及数据处理。内部存储器921可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备900使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器921可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
压力传感器980A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器980A可以设置于显示屏994。压力传感器980A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器980A,电极之间的电容改变。电子设备900根据电容的变化确定压力的强度。当有触摸操作作用于显示屏994,电子设备900根据压力传感器980A检测所述触摸操作强度。电子设备900也可以根据压力传感器980A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如,当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
触摸传感器980K,也称“触控面板”。触摸传感器980K可以设置于显示屏994,由触摸传感器980K与显示屏994组成触摸屏,也称“触控屏”。触摸传感器980K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏994提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器980K也可以设置于电子设备900的表面,与显示屏994所处的位置不同。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种电子设备,该电子设备包括:一个或多个处理器、存储器以及存储在所述存储器中并可在所述一个或多个处理器上运行的计算机程序,所述一个或多个处理器执行所述计算机程序时使得所述电子设备可实现上述任意方法中的步骤。本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被电子设备执行时可实现上述各个方法实施例中的步骤。
所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/电子设备的任何实体或装置、记录介质、计算机存储器、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序,当计算机程序被电子设备执行时可实现上述各个方法实施例中的步骤。所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种切换应用的方法,其特征在于,包括:
在电子设备上运行第一应用,并显示所述第一应用的第一页面;
响应于用户在所述第一页面中以可进行手势滑动的区域中的任意点为起点的滑动手势操作,执行退出所述第一应用的动效和启动第二应用的动效,所述滑动手势操作用于触发退出所述第一应用并启动所述第二应用的进程;
在执行退出所述第一应用的动效和启动所述第二应用的动效期间,在检测到所述滑动手势操作从起点开始滑过的距离大于或等于误触碰距离阈值时,执行以下操作:在所述电子设备的后台拉起所述第二应用,并使得所述第二应用以全透明状态存在,以使得一旦所述第一应用的退出动效结束就立刻开始所述第二应用的启动动效,以及执行所述第一应用的退出动效;
在执行退出所述第一应用的动效和启动所述第二应用的动效期间,在检测到所述滑动手势操作从起点开始滑过的距离大于或等于第一距离阈值时,将所述滑动手势操作在所述第一页面上的实时位移参数发送给所述第二应用,以及基于接收到的所述实时位移参数,执行所述第二应用的启动动效,所述第一距离阈值是根据所述第一应用的退出动效需要的滑动距离和所述误触碰距离阈值之和设置的;
在执行退出所述第一应用的动效和启动所述第二应用的动效期间,在检测到滑过的距离超过所述误触碰距离阈值的时候,在后台拉起所述第二应用的同时,同步开始在所述第一应用和所述第二应用之间建立跨进程连接的通信通道,跨进程连接的通信通道为binder通信通道;
所述在执行退出所述第一应用的动效和启动所述第二应用的动效期间,在检测到所述滑动手势操作从起点开始滑过的距离大于或等于第一距离阈值时,将所述滑动手势操作在所述第一页面上的实时位移参数发送给所述第二应用,以及基于接收到的所述实时位移参数,执行所述第二应用的启动动效,包括:
当所述通信通道建立成功时,通过所述通信通道将所述实时位移参数发送给所述第二应用,以使得所述第二应用基于接收到的所述实时位移参数执行所述第二应用的启动动效;
当所述通信通道没有建立成功时,根据所述滑动手势操作从起点开始滑过的距离,确定按照预设参数执行所述第二应用的启动动效,或,转为执行所述第一应用的退出动效的反向动效;
所述当所述通信通道没有建立成功时,根据所述滑动手势操作从起点开始滑过的距离,确定按照预设参数执行所述第二应用的启动动效,或,转为执行所述第一应用的退出动效的反向动效,包括:
当所述滑动手势操作从起点开始滑过的距离大于或等于第二距离阈值时,根据所述第二应用的启动动效的预设参数执行所述第二应用的启动动效,所述第二距离阈值大于所述第一距离阈值且小于第三距离阈值,所述第三距离阈值是根据所述第二应用执行启动动效需要的距离和所述第一距离阈值之和确定的;
当所述滑动手势操作在结束时从起点开始滑过的距离小于所述第二距离阈值且大于所述第一距离阈值时,转为执行所述第一应用的退出动效的反向动效;
所述当所述通信通道建立成功时,通过所述通信通道将所述实时位移参数发送给所述第二应用,以使得所述第二应用基于接收到的所述实时位移参数执行所述第二应用的启动动效,包括:
在所述通信通道建立成功之后,当检测到所述滑动手势操作结束时,根据所述第二应用已执行的启动动效的进度,确定按照最后一次传输给所述第二应用的所述实时位移参数继续执行所述第二应用的启动动效,或,转为执行所述第二应用的启动动效的已执行部分的反向动效以及接续执行所述第一应用的退出动效的反向动效;
所述第二应用的启动动效包括透明度alpha值从0到1渐变的动效,所述根据所述第二应用已执行的启动动效的进度,确定按照最后一次传输给所述第二应用的所述实时位移参数继续执行所述第二应用的启动动效,或,转为执行所述第二应用的启动动效的已执行部分的反向动效以及接续执行所述第一应用的退出动效的反向动效,包括:
当所述第二应用已执行的启动动效的进度为alpha值大于或等于预设不透明度阈值时,按照最后一次传输给所述第二应用的所述实时位移参数继续执行所述第二应用的启动动效;
当所述第二应用已执行的启动动效的进度为alpha值小于所述预设不透明度阈值时,转为执行所述第二应用的启动动效的已执行部分的反向动效以及接续执行所述第一应用的退出动效的反向动效;
所述方法还包括:
在检测到所述滑动手势操作结束时从起点开始滑过的距离小于所述第一距离阈值且大于所述误触碰距离阈值时,转为执行所述第一应用的退出动效的已执行部分的反向动效。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述电子设备的处理能力和/或预配置规则,调整所述第一应用的退出动效和/或所述第二应用的启动动效的动效参数;所述预配置规则中包括多种电子设备的机型和每种机型的对应动效参数。
3.根据权利要求2所述的方法,其特征在于,所述动效参数包括动效数量、动效类型和动效的变化步长中的至少一项。
4.根据权利要求3所述的方法,其特征在于,所述电子设备的处理能力与所述动效数量正相关;所述电子设备的处理能力与所述动效的变化步长负相关。
5.根据权利要求3所述的方法,其特征在于,所述动效类型包括位移动效、模糊动效和透明动效。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述第一应用为桌面或负一屏,所述第二应用为搜索页面。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述第二应用的启动动效执行完毕时,显示所述搜索页面的首页,并在所述搜索页面的首页上加载键盘输入弹窗。
8.根据权利要求1至5中任一项所述的方法,其特征在于,所述滑动手势操作的滑动方向为下滑。
9.一种电子设备,包括存储器、一个或多个处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述一个或多个处理器执行所述计算机程序时使得所述电子设备实现如权利要求1至8中任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被电子设备执行时实现如权利要求1至8中任一项所述的方法。
CN202311476752.0A 2023-11-08 2023-11-08 切换应用的方法和电子设备 Active CN117271042B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311476752.0A CN117271042B (zh) 2023-11-08 2023-11-08 切换应用的方法和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311476752.0A CN117271042B (zh) 2023-11-08 2023-11-08 切换应用的方法和电子设备

Publications (2)

Publication Number Publication Date
CN117271042A CN117271042A (zh) 2023-12-22
CN117271042B true CN117271042B (zh) 2024-04-19

Family

ID=89217881

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311476752.0A Active CN117271042B (zh) 2023-11-08 2023-11-08 切换应用的方法和电子设备

Country Status (1)

Country Link
CN (1) CN117271042B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019183780A1 (zh) * 2018-03-26 2019-10-03 华为技术有限公司 显示控制方法和终端
WO2019222887A1 (zh) * 2018-05-21 2019-11-28 华为技术有限公司 一种显示控制方法及终端
CN114281225A (zh) * 2020-09-28 2022-04-05 华为技术有限公司 一种窗口显示方法及设备
CN114995929A (zh) * 2021-11-17 2022-09-02 荣耀终端有限公司 一种弹窗的显示方法及装置
CN115774594A (zh) * 2022-12-21 2023-03-10 深圳市坚果软件有限责任公司 应用切换方法、投影设备和计算机可读存储介质
WO2023066165A1 (zh) * 2021-10-18 2023-04-27 华为技术有限公司 动画效果显示方法及电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015616B2 (en) * 2008-10-22 2015-04-21 Google Inc. Search initiation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019183780A1 (zh) * 2018-03-26 2019-10-03 华为技术有限公司 显示控制方法和终端
WO2019222887A1 (zh) * 2018-05-21 2019-11-28 华为技术有限公司 一种显示控制方法及终端
CN114281225A (zh) * 2020-09-28 2022-04-05 华为技术有限公司 一种窗口显示方法及设备
WO2023066165A1 (zh) * 2021-10-18 2023-04-27 华为技术有限公司 动画效果显示方法及电子设备
CN114995929A (zh) * 2021-11-17 2022-09-02 荣耀终端有限公司 一种弹窗的显示方法及装置
CN115774594A (zh) * 2022-12-21 2023-03-10 深圳市坚果软件有限责任公司 应用切换方法、投影设备和计算机可读存储介质

Also Published As

Publication number Publication date
CN117271042A (zh) 2023-12-22

Similar Documents

Publication Publication Date Title
US11567656B2 (en) Information processing device, operation input method and operation input program
RU2739586C1 (ru) Способ трансляции экрана, устройство, терминал и запоминающий носитель информации
US8947375B2 (en) Information processing device, information processing method, and information processing program
JP2021508881A (ja) アイコン管理方法及び装置
WO2021136136A1 (zh) 截图方法及电子设备
EP4187378A1 (en) Application interface switching method and apparatus, and terminal and storage medium
EP3992786A1 (en) Display method and electronic device
WO2019041779A1 (zh) 终端界面切换、移动、手势处理的方法、装置及终端
US11546457B2 (en) Electronic device and method of operating electronic device in virtual reality
CN111858522A (zh) 文件分享方法、装置、终端及存储介质
CN108475221B (zh) 用于提供多任务处理视图的方法和装置
WO2022105425A1 (zh) 显示方法、电子设备及可读存储介质
CN112099707A (zh) 显示方法、装置和电子设备
WO2021179803A1 (zh) 内容分享方法、装置、电子设备及存储介质
CN112911147A (zh) 显示控制方法、显示控制装置及电子设备
WO2022068721A1 (zh) 截屏方法、装置及电子设备
CN109542307B (zh) 一种图像处理方法、设备和计算机可读存储介质
CN117271042B (zh) 切换应用的方法和电子设备
CN114741361A (zh) 处理方法、智能终端及存储介质
WO2023216682A1 (zh) 处理方法、智能终端及存储介质
CN114895820B (zh) 一种基于人机交互的显示控制方法
EP4290374A1 (en) Application switching method and apparatus, terminal and storage medium
CN117931021A (zh) 文件处理方法、装置、电子设备及存储介质
JP2015176493A (ja) 端末装置、表示プログラム及び表示方法
CN117170568A (zh) 终端显示方法、装置、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant