触控事件的处理方法、装置、设备以及存储介质与流程

文档序号:24304717发布日期:2021-03-17 00:57阅读:103来源:国知局
触控事件的处理方法、装置、设备以及存储介质与流程

本申请涉及计算机技术领域,尤其涉及物联网、智能交通等领域。



背景技术:

车机指的是安装在车辆端的车载信息娱乐产品的简称,车机在功能上要能够实现人与车的交互,车与手机等智能终端的信息互联。

在车与手机等智能终端的信息通互联景下,智能终端接收车机发送的控制指令,执行对应操作。由于车机与手机等智能终端的触控屏并没有统一的产品标准,由此导致在车机端正常识别的触控事件,在传到智能终端后可能会由于产品标准不统一而造成触控事件数量暴增,最终导致无法正常识别的情况。



技术实现要素:

本申请提供了一种触控事件的处理方法、装置、设备、存储介质和计算机程序产品。

根据本申请的一方面,提供了一种触控事件的处理方法,该方法可以包括以下步骤:

确定接收到当前次触控事件与接收到上一次触控事件之间的时间间隔;

利用时间间隔和接收到当前次触控事件的时刻,确定当前次触控事件的执行时刻;

根据执行时刻,将当前次触控事件存入触控事件执行队列。

根据本申请的另一方面,提供了一种触控事件的处理装置,该装置可以包括以下组件:

时间间隔确定模块,用于确定接收到当前次触控事件与接收到上一次触控事件之间的时间间隔;

执行时刻确定模块,用于利用时间间隔和接收到当前次触控事件的时刻,确定当前次触控事件的执行时刻;

触控事件执行队列构建模块,用于根据执行时刻,将当前次触控事件存入触控事件执行队列。

第三方面,本申请实施例提供一种电子设备,包括:

至少一个处理器;以及

与至少一个处理器通信连接的存储器;其中,

存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本申请任意一项实施例所提供的方法。

第四方面,本申请实施例提供一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行本申请任意一项实施例所提供的方法。

根据本申请的另一方面,提供了一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现本申请任一实施例中的方法。

可以通过接收到当前次触控事件与接收到上一次触控事件的时间间隔确定车机与智能终端的触控屏是否具有统一的产品标准。在车机与智能终端的触控屏不具有统一的产品标准的情况下,通过制定每个触控事件的执行时间,并将无法立刻执行的触控事件存入触控事件执行队列。解决相关技术中智能终端触控事件解析压力大的问题,避免智能终端出现卡顿、耗电快、发热等情况。可以使智能终端有序的处理大数量的触控事件。

应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本申请的限定。其中:

图1是根据本申请触控事件的处理方法的流程图;

图2是根据本申请智能终端与车机的交互的示意图;

图3是根据本申请确定当前次触控事件的执行时刻的流程图;

图4是根据本申请触控事件的处理方法的流程图;

图5是根据本申请触控事件的处理方法的流程图;

图6是根据本申请触控事件的处理装置的示意图;

图7是用来实现本申请实施例的触控事件的处理方法的电子设备的框图。

具体实施方式

以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

如图1所示,在本申请的实施方式中,提供一种触控事件的处理方法,该方法可以包括以下步骤:

s101:确定接收到当前次触控事件与接收到上一次触控事件之间的时间间隔;

s102:利用时间间隔和接收到当前次触控事件的时刻,确定当前次触控事件的执行时刻;

s103:根据执行时刻,将当前次触控事件存入触控事件执行队列。

本申请实施方式的场景可以适用于智能终端与车机的交互,例如carlife场景等。智能终端可以包括手机、智能音箱等设备。本申请实施方式上述流程的执行主体可以是智能终端。

触控事件可以是由车机发送的触控事件。车机检测前后两次触控事件的判定依据可以以检测到手指在触控屏上的滑动距离确定,例如,当手指在车机的触控屏上滑动距离超过对应阈值的情况下,可以确定为一次触控事件。第一次触控事件的结束位置可以作为第二次触控事件的起始位置。

另外,也可以根据检测到手指在触控屏上的时间确定前后两次触控事件;或者,还可以根据手指的下落或抬起的动作判定为前后两次触控事件。

智能终端在接收到触控事件的情况下,可以根据每次接收到触控事件的时刻确定接收到当前次触控事件与接收到上一次触控事件的时间间隔。

在车机与智能终端的触控屏不具有统一的产品标准的情况下,智能终端对于车机传输的触控事件无法做到及时处理。例如,车机的触控屏以间隔为1至3毫秒确定相邻的两次触控事件,而智能终端以间隔为20至30毫秒确定相邻的两次触控事件。

结合图2所示,以手指在车机的触控屏的一次滑动为例,车机的触控屏可以确定一次滑动产生了n个触控事件。例如图2中所示的检测的手指下落的触控事件(图2中对应为action_down)、检测到手指滑动的触控事件(图2中对应为多个action_move)、检测到手指抬起的触控事件(图2中对应为action_up)。需要说明的是,在包括利用滑动距离确定触控事件次数的情况下,手指一次滑动的动作可以对应多个触控事件(即图2所示的多个action_move)。将n个触控事件传递给智能终端后,智能终端在短时间内收到了超过自身处理极限的触控事件,由此会给智能终端造成非常大的触控事件解析压力,导致智能终端出现卡顿、耗电快、发热等情况。

对此,在本申请的实施方式中,可以通过接收到当前次触控事件与接收到上一次触控事件的时间间隔确定车机与智能终端的触控屏是否具有统一的产品标准。

例如,在车机与智能终端的触控屏不具有统一的产品标准的情况下,可以按照智能终端的产品标准,制定接收到的每个触控事件的执行时间。并且,根据执行时间,将无法立刻执行的触控事件存入触控事件执行队列。从而便于在后续的触控事件执行过程中,可以根据触控事件执行队列中每个触控事件的执行时间,依次执行触控事件。

通过上述方案,可以通过接收到当前次触控事件与接收到上一次触控事件的时间间隔确定车机与智能终端的触控屏是否具有统一的产品标准。在车机与智能终端的触控屏不具有统一的产品标准的情况下,通过制定每个触控事件的执行时间,并将无法立刻执行的触控事件存入触控事件执行队列的方式,解决相关技术中智能终端触控事件解析压力大的问题,避免其卡顿、耗电快、发热等情况。可以有序的处理大数量的触控事件。

如图3所示,在一种实施方式中,步骤s102具体可以包括以下步骤:

s301:在时间间隔不大于对应阈值的情况下,利用阈值和时间间隔,确定时间间隔与阈值的差异;

s302:利用差异和当前次触控事件的时刻,确定当前次触控事件的执行时刻。

在当时实施方式中,时间间隔阈值可以设置为25毫秒。

在接收到当前次触控事件与接收到上一次触控事件的时间间隔不大于25毫秒的情况下,可以表示智能终端接收触控事件的数量已经超出了其自身可以正常处理触控事件的能力。在此情况下,可以利用时间间隔、阈值和接收到当前次触控事件的时刻,确定当前次触控事件的执行时刻。

具体的,当前次触控事件的执行时间tnow可以设置为:tnow=t0-δt+t1;式中,t0可以表示时间间隔阈值,δt可以表示时间间隔,t1可以表示接收到当前次触控事件的时刻。

计算式中,t0-δt即可表示时间间隔与阈值的差异。

通过上述方案,可以合理安排每个触控事件的执行时刻。从而做到对于触控事件执行的整体把控。解决相关技术中智能终端触控事件解析压力大的问题,避免其卡顿、耗电快、发热等情况。

在一种实施方式中,步骤s102具体可以包括以下步骤:

在时间间隔大于对应阈值的情况下,利用时间间隔和接收到当前次触控事件的时刻,确定当前次触控事件的执行时刻。

与上述步骤相同,时间间隔阈值可以设置为25毫秒。

在接收到当前次触控事件与接收到上一次触控事件的时间间隔大于25毫秒的情况下,可以表示智能终端有能力在正常情况下处理触控事件。基于此,当前次触控事件的执行时间tnow可以设置为:tnow=δt+t1;式中,δt可以表示时间间隔,t1可以表示接收到当前次触控事件的时刻。

通过上述方案,可以合理安排每个触控事件的执行时刻。从而做到对于触控事件执行的整体把控。解决相关技术中智能终端触控事件解析压力大的问题,避免其卡顿、耗电快、发热等情况。

如图4所示,在一种实施方式中,触控事件的处理方法还可以包括以下步骤:

s401:确定触控事件执行队列中的每个触控事件的类型;

s402:在预定类型的触控事件的数量超过对应阈值的情况下,对触控事件执行队列中的预定类型的触控事件进行删减处理。

触控事件的类型至少可以包括手指的放下、手指的抬起以及手指的滑动。其中,手指的放下可以对应车机的触控屏检测到手指的触控操作;手指的抬起可以对应车机的触控屏检测到手指离开触控屏表面;手指的滑动可以对应车机的触控屏检测到手指在触控屏上滑动。

在上述不同类型中,可以根据需要将任意类型确定为预定类型。或者,一般情况下,手指的放下、手指的抬起可以用于表征执行触控事件的手指数量,因此可以将手指的放下、手指的抬起列为重要触控事件。

另外,手指的滑动用于表征手指的轨迹,即便出现轨迹少量缺失的情况,对于轨迹的识别并不会产生很大影响。因此,可以将手指的滑动列为非重要触控事件。即,在触控事件的类型为手指的滑动的情况下,可以将其确定为预定类型。

在触控事件执行队列中,可以对各类型的触控事件的数量进行统计。对于预定类型的触控事件,在其数量超过对应阈值的情况下,可以进行删减处理。

示例性地,在预定类型的触控事件的数量超过第一阈值的情况下,可以将删减数量设置为10%;即,在每10个预定类型的触控事件中,删除1个。

在预定类型的触控事件的数量超过第二阈值的情况下,可以将删减数量设置为15%。

进一步的,可以设置删减数量的最大值为20%。上述删减数量可以根据实际情况灵活调整,在此不进行限定。

通过上述方案,可以通过对预定类型的触控事件进行删减的方式,降低智能终端的压力。由于删减的触控事件是经过论证的不会影响对指令解析结果的预定类型的触控事件,因此,上述方案既不会影响指令解析的准确度,还可以降低智能终端的工作压力。

在一种实施方式中,在触控事件包含手指滑动事件的情况下,将包含手指滑动事件的触控事件确定为预定类型的触控事件。

如图5所示,在一种实施方式中,触控事件的处理方法还可以包括以下步骤:

s501:定时轮询触控事件执行队列,根据执行时刻依次执行触控事件执行队列中的触控事件;

s502:将已经执行的触控事件从触控事件执行队列移除。

轮询时间可以设定为1毫秒。即,每隔1毫秒便会对触控事件执行队列进行遍历,根据触控事件执行队列中存在的各触控事件的执行时刻,一次执行触控事件。

在触控事件执行完毕的情况下,将触控事件从触控事件执行队列中移除。

需要说明的是,触控事件执行队列中的各触控事件的排列顺序,可以依照执行时刻进行排序,也可以依照接收到该触控事件的时刻进行排序。具体排序方式并不进行限定。在遍历时,依据执行时刻,从触控事件执行队列中抽取要执行的触控事件。

通过上述方案,可以使智能终端按照标准时间间隔处理触控事件。克服了处理高灵敏度触控事件带来的高能耗问题。释放了智能终端的cpu的压力,可以为智能终端解放初更多的运算能力,也降低了智能终端电量的损耗。

在一种实施方式中,触控事件为车机端发送的触控事件。

当前实施方式可以应用到于智能终端与车机的交互的场景。因此,触控事件为车机端发送的触控事件。

如图6所示,本申请提供一种触控事件的处理装置,该装置可以包括以下组件:

时间间隔确定模块601,用于确定接收到当前次触控事件与接收到上一次触控事件之间的时间间隔;

执行时刻确定模块602,用于利用时间间隔和接收到当前次触控事件的时刻,确定当前次触控事件的执行时刻;

触控事件执行队列构建模块603,用于根据执行时刻,将当前次触控事件存入触控事件执行队列。

在一种实施方式中,执行时刻确定模块602具体可以包括:

差异确定子模块,用于在时间间隔不大于对应阈值的情况下,利用阈值和时间间隔,确定时间间隔与阈值的差异;

执行时刻确定执行子模块,用于利用差异和当前次触控事件的时刻,确定当前次触控事件的执行时刻。

在一种实施方式中,执行时刻确定模块602具体可以用于:

在时间间隔大于对应阈值的情况下,利用时间间隔和接收到当前次触控事件的时刻,确定当前次触控事件的执行时刻。

在一种实施方式中,触控事件的处理装置还可以包括:

触控事件类型确定模块,用于确定触控事件执行队列中的每个触控事件的类型;

触控事件执行队列调整模块,用于在预定类型的触控事件的数量超过对应阈值的情况下,对触控事件执行队列中的预定类型的触控事件进行删减处理。

在一种实施方式中,预定类型包括:触控事件包含手指滑动事件。

在一种实施方式中,触控事件的处理装置还可以包括:

触控事件执行模块,用于定时轮询触控事件执行队列,根据执行时刻依次执行触控事件执行队列中的触控事件;

触控事件移除模块,用于将已经执行的触控事件从触控事件执行队列移除。

在一种实施方式中,触控事件为车机端发送的触控事件。

根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。

如图7所示,是根据本申请实施例的触控事件的处理方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。

如图7所示,该电子设备包括:一个或多个处理器710、存储器720,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图7中以一个处理器710为例。

存储器720即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的触控事件的处理方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的触控事件的处理方法。

存储器720作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的触控事件的处理方法对应的程序指令/模块(例如,附图6所示的时间间隔确定模块601、执行时刻确定模块602和触控事件执行队列构建模块603)。处理器710通过运行存储在存储器720中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的触控事件的处理方法。

存储器720可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据触控事件的处理方法的电子设备的使用所创建的数据等。此外,存储器720可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器720可选包括相对于处理器710远程设置的存储器,这些远程存储器可以通过网络连接至触控事件的处理方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

触控事件的处理方法的电子设备还可以包括:输入装置730和输出装置740。处理器710、存储器720、输入装置730和输出装置740可以通过总线或者其他方式连接,图7中以通过总线连接为例。

输入装置730可接收输入的数字或字符信息,以及产生与触控事件的处理方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置740可以包括显示设备、辅助照明装置(例如,led)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(lcd)、发光二极管(led)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。

此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(vps)服务中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1