著录项信息
专利名称 | 加快黑屏手势处理的方法、装置、存储介质及移动终端 |
申请号 | CN201710632258.7 | 申请日期 | 2017-07-28 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2017-11-28 | 公开/公告号 | CN107402713A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F3/0488 | IPC分类号 | G;0;6;F;3;/;0;4;8;8查看分类表>
|
申请人 | 广东欧珀移动通信有限公司 | 申请人地址 | 广东省东莞市长安镇乌沙海滨路18号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | OPPO广东移动通信有限公司 | 当前权利人 | OPPO广东移动通信有限公司 |
发明人 | 韩通;郭明强;石仁栋;张强;汪昊 |
代理机构 | 北京品源专利代理有限公司 | 代理人 | 孟金喆 |
摘要
本发明实施例公开了一种加快黑屏手势处理的方法、装置、存储介质及移动终端。该方法包括:在检测到黑屏手势事件时,获取所述黑屏手势事件对应的手势类型;根据所述手势类型匹配所述黑屏手势对应的手势复杂度;根据所述手势复杂度确定数据采样策略,并根据所述数据采样策略读取手势坐标;通过至少一个绘制线程,根据已读取的所述手势坐标绘制所述黑屏手势对应的手势轨迹,按照设定的屏幕刷新率显示所述手势轨迹。本发明实施例按照不同的手势类型确定不同的数据采样策略,以实现多种手势坐标读取方式,减少了应用层的读取数据量以及在绘制手势轨迹时采用的数据量,提高了黑屏手势处理的速度,减少了系统响应时间,降低了系统功耗。
加快黑屏手势处理的方法、装置、存储介质及移动终端\n技术领域\n[0001] 本发明实施例涉及移动终端技术,尤其涉及一种加快黑屏手势处理的方法、装置、存储介质及移动终端。\n背景技术\n[0002] 随着科技的发展,具有触控显示屏的各类电子设备被人们广泛使用,例如智能手机、平板电脑或掌上游戏机等。这些设备采用的触摸技术为人们提供了便捷的输入方式,带来了很大的便利。\n[0003] 以触控显示屏为基础开发的功能也在不断增加,黑屏手势就是其中具有代表性和科技未来感的一个。所谓黑屏手势就是用户在不需要亮屏的情况下,在触控显示屏上绘制出一些特定的图案以实现快捷开启某个应用程序的功能。但是,黑屏手势的数据处理量较大,处理速度较慢,也一定程度上提高了系统的功耗,对移动终端的正常使用造成了一定程度的影响。\n[0004] 现有黑屏手势功能存在上述技术问题,亟待提出相应的解决方案。\n发明内容\n[0005] 本发明实施例提供一种加快黑屏手势处理的方法、装置、存储介质及移动终端,可以实现减少处理的数据量,提高黑屏手势的处理速度。\n[0006] 第一方面,本发明实施例提供了一种加快黑屏手势处理的方法,该方法包括:\n[0007] 在检测到黑屏手势事件时,获取所述黑屏手势事件对应的手势类型;根据所述手势类型匹配所述黑屏手势对应的手势复杂度;\n[0008] 根据所述手势复杂度确定数据采样策略,并根据所述数据采样策略读取手势坐标;\n[0009] 通过至少一个绘制线程,根据已读取的所述手势坐标绘制所述黑屏手势对应的手势轨迹,按照设定的屏幕刷新率显示所述手势轨迹。\n[0010] 第二方面,本发明实施例还提供了一种加快黑屏手势处理的装置,该装置包括:\n[0011] 手势事件检测模块,用于在检测到黑屏手势事件时,获取所述黑屏手势事件对应的手势类型;\n[0012] 复杂度匹配模块,用于根据所述手势类型匹配所述黑屏手势对应的手势复杂度;\n[0013] 采样策略确定模块,用于根据所述手势复杂度确定数据采样策略,并根据所述数据采样策略读取手势坐标;\n[0014] 手势轨迹绘制模块,用于通过至少一个绘制线程,根据已读取的所述手势坐标确定所述黑屏手势对应的手势轨迹,按照设定的屏幕刷新率显示所述手势轨迹。\n[0015] 第三方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的加快黑屏手势处理的方法。\n[0016] 第四方面,本发明实施例还提供了一种移动终端,包括触控显示屏、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明实施例中任一所述的加快黑屏手势处理的方法。\n[0017] 本发明实施例的技术方案,通过在检测到黑屏手势事件时,获取所述黑屏手势事件对应的手势类型;根据所述手势类型匹配所述黑屏手势对应的手势复杂度;根据所述手势复杂度确定数据采样策略,并根据所述数据采样策略读取手势坐标;通过至少一个绘制线程,根据已读取的所述手势坐标绘制所述黑屏手势对应的手势轨迹,按照设定的屏幕刷新率显示所述手势轨迹。本发明实施例按照不同的手势类型确定不同的数据采样策略,以实现多种手势坐标读取方式,减少了应用层的读取数据量以及在绘制手势轨迹时采用的数据量,提高了黑屏手势处理的速度,减少了系统响应时间,降低了系统功耗。\n附图说明\n[0018] 图1为本发明实施例提供的一种加快黑屏手势处理的方法的流程图;\n[0019] 图2是本发明实施例提供的一种安卓系统框架示意图;\n[0020] 图3是本发明实施例提供的一种黑屏手势轨迹的显示示意图;\n[0021] 图4为本发明实施例提供的另一种加快黑屏手势处理的方法的流程图;\n[0022] 图5为本发明实施例提供的另一种加快黑屏手势处理的方法的流程图;\n[0023] 图6是本发明实施例提供的一种加快黑屏手势处理的装置结构框图;\n[0024] 图7为本发明实施例提供的一种移动终端的结构示意图。\n具体实施方式\n[0025] 下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。\n[0026] 在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。\n[0027] 黑屏手势功能是在移动终端(例如智能手机)处于熄屏休眠的情况下,触控显示屏以低功耗状态运行,以检测熄屏下的作用于触控显示屏的黑屏手势,并根据该黑屏手势来唤醒智能手机的某项功能或开启预先设置的与黑屏手势类型对应的应用程序的功能。为了便于理解黑屏手势功能,下面对由熄屏状态下检测到黑屏手势至应用层开启该黑屏手势对应的应用程序的流程进行说明,该流程包括:将黑屏手势对应的手势数据存入驱动层的预设节点内,其中,手势数据包括手势坐标和手势类型;由驱动层执行黑屏手势数据有效性判断;若有效,则由框架层执行黑屏手势事件派发;在应用层接收到黑屏手势事件后,由应用层从驱动层内预设节点读取手势坐标,根据该手势坐标和手势类型计算黑屏手势的动画轨迹,将动画轨迹数据发送至帧缓存(FrameBuffer),以按照设定的屏幕刷新率将该动画轨迹刷新至触控显示屏,进行显示;随后,由应用层执行开启该黑屏手势对应的应用程序的操作。\n[0028] 在上述黑屏手势识别过程中,当用户输入一个黑屏手势,手势数据会被驱动层所读取并识别,应用层在收到驱动层上报的黑屏手势事件时,应用层在读取数据以及绘制手势轨迹时,会按照统一的采样策略进行数据的读取及轨迹的绘制,但是由于各黑屏手势的轨迹的复杂程度不同,对于简单的手势(如手势轨迹“|”),只需要读取少量的点,就可以将手势轨迹绘制完成。对于复杂一些的手势(如手势轨迹“M”),则需要特征点(如拐点)以及部分采样点才可以将手势轨迹绘制完成。本发明实施例提供的加快黑屏手势处理的方法,可以很好地根据黑屏手势类型确定不同的数据采样策略及绘制方式,可以很好地减少数据处理量,减少数据所占的内存,降低系统功耗。\n[0029] 图1为本发明实施例提供的一种加快黑屏手势处理的方法的流程图,本实施例可适用于提高黑屏手势处理速度的情况,该方法可以由加快黑屏手势处理的装置来执行,其中,该装置可由软件和/或硬件实现,一般可集成在移动终端中。如图1所示,该方法包括:\n[0030] 步骤110、在检测到黑屏手势事件时,获取所述黑屏手势事件对应的手势类型。\n[0031] 其中,黑屏手势事件可以是驱动层与应用层预先协商好的用于代表有黑屏手势输入的事件。\n[0032] 黑屏手势可以是用户在黑屏手势功能开启后,在处于熄屏状态的移动终端的触控显示屏上输入的触摸手势。可以理解的是黑屏手势并不限于在触控显示屏上输入的触摸手势,还可以是由移动终端的传感器检测到的操作等。例如,左右摇晃智能手机的手势,从智能手机的触控显示屏上空拂过的手势及按压智能手机边框的手势等等。\n[0033] 图2是本发明实施例提供的一种安卓系统框架示意图。以图2所示的操作系统为安卓(Android)系统的移动终端为例,介绍本发明实施例提供的黑屏手势功能的执行流程。如图2所示,安卓系统框架由下至上包括内核层210、核心类库层220、框架层230及应用层240。\n其中,内核层210提供核心系统服务,包括安全、内存管理、进程管理、网络协议栈及硬件驱动等。其中,将内核层210中的硬件驱动记为驱动层211,该驱动层211包括触控显示屏驱动、摄像头驱动等。核心类库层220包括安卓运行环境(Android Runtime)和类库(Libraries)。\n其中,Android Runtime提供大部分在Java编程语言核心类库中可用的功能,包括核心库(Core Libraries)和Dalvik虚拟机(Dalvik VM)。每一个安卓应用程序是Dalvik虚拟机中的实例,运行在它们自己的进程中。类库供安卓系统的各个组件使用,包括如下功能:媒体库(Media Framework)、界面管理(Surface Manager)、SQLite(关系数据库引擎)及FreeType(位图和矢量字体渲染)等,其各个功能通过安卓系统的框架层230暴露给开发者使用。框架层230提供开发安卓应用程序所需的一系列类库,使开发人员可以进行快速的应用程序开发,方便重用组件,也可以通过继承实现个性化的扩展,其提供的服务包括组件管理服务、窗口管理服务、系统数据源组件、空间框架、资源管理服务及安装包管理服务等。应用层240上包括各类与用户直接交互的应用程序,或由Java语言编写的运行于后台的服务程序,包括桌面应用、联系人应用、通话应用、相机应用、图片浏览器、游戏、地图、web浏览器等程序,以及开发人员开发的其他应用程序。\n[0034] 示例性的,在黑屏手势功能开启后,触摸芯片在检测到黑屏手势时,生成一唤醒信号,并发送该唤醒信号至内核层。通过该唤醒信号触发内核层执行系统唤醒操作。在系统唤醒后,内核层调用驱动层中断函数执行读取触摸芯片中手势数据的操作,并将读取的手势数据存储在驱动层的预设节点内。其中,触摸芯片用于输出触摸感测控制信号至触控显示屏,以检测触摸操作,识别作用于触控显示屏上的黑屏手势的手势坐标,将该手势坐标作为手势数据存储在自身的寄存器中。预设节点可以为文件节点,例如可以是proc-D目录下的虚拟文件节点。在数据读取完成后,驱动层判定该手势数据的有效性,有效性判定的方式有很多种,本实施例不作具体限定。例如,驱动层根据该手势数据包含的手势坐标确定手势类型,并将所确定的手势类型作为手势数据存储在该预设节点内。若该手势类型不是预设的黑屏手势,则判定手势数据无效。又如,驱动层统计该手势数据的数目,判定该数目是否满足绘制预设的黑屏手势的要求,若否,则判定手势数据无效。在数据有效时,驱动层上报黑屏手势事件。该黑屏手势事件通过核心类库层传输至框架层,并通过框架层派发,达到应用层。应用层在获取到黑屏手势事件时,由驱动层的预设节点读取手势数据。在手势数据准备完成后,根据该手势数据包含的手势坐标计算出黑屏手势轨迹,将该黑屏手势轨迹绘制在触控显示屏上进行显示。然后,应用层基于所读取的手势数据中的手势类型,打开与该手势类型对应的应用程序。其中,手势类型可以是预先设置于移动终端中的用于实现某一功能的手势,还可以是用户自定义的手势。例如,手势类型可以是O,代表打开相机。又如,手势类型可以是V,代表打开手电筒等等。\n[0035] 可以理解的是,黑屏手势功能的执行流程并不限于本实施例中列举的方式。例如,还可以是在系统唤醒时即上报黑屏手势事件,内核层调用驱动层中断函数执行读取触摸芯片中手势数据的操作,并将该手势数据存储在驱动层的预设节点内;在黑屏手势事件上报时,并行执行驱动层读取手势数据,根据手势数据确定手势类型的操作;例如,驱动层获取该预设节点内的手势数据,对该手势数据作曲线拟合得到该黑屏手势最接近的手势类型,将该手势类型也作为手势数据存储在该预设节点内。在应用层接收到黑屏手势事件时,按照设定周期检测该预设节点内的手势数据是否准备完成。在准备完成时,应用层由该预设节点内读取该手势数据。在该手势数据读取成功且有效时,根据该手势数据包含的手势坐标计算出黑屏手势轨迹,将该黑屏手势轨迹绘制在触控显示屏上进行显示。然后,应用层基于所读取的手势数据中的手势类型,打开与该手势类型对应的应用程序。\n[0036] 步骤120、根据所述手势类型匹配所述黑屏手势对应的手势复杂度。\n[0037] 其中,对于每个手势类型,均会对应一个手势复杂度,手势复杂度用于衡量黑屏手势轨迹的复杂程度,属于黑屏手势自身的属性,例如可以是手势轨迹中包含的拐点数目,或者包含的线段段数等。当应用层获取到手势类型后,根据手势类型匹配对应的手势复杂度。\n[0038] 步骤130、根据所述手势复杂度确定数据采样策略,并根据所述数据采样策略读取手势坐标。\n[0039] 其中,由于手势复杂度影响着手势轨迹确定及绘制的难度水平,当手势复杂度较大时,则可以采集较多的坐标点,当手势复杂度较小时,则可以采集较少的坐标点。例如手势类型为“|”的手势只需采集起点和终点就可以完成手势轨迹的确定及绘制。因此,针对不同手势复杂度,确定读取手势坐标时的采样读取方式,数据采样策略可以是每隔设定数目的坐标点采集一个坐标点作为采样点,或者采集特征点(如起点、中点或终点等)作为采样点等。\n[0040] 步骤140、通过至少一个绘制线程,根据已读取的所述手势坐标绘制所述黑屏手势对应的手势轨迹,按照设定的屏幕刷新率显示所述手势轨迹。\n[0041] 其中,可以根据已读取的坐标点,采用曲线拟合的方式确定黑屏手势对应的手势轨迹。通过至少一个绘制线程绘制手势轨迹的方式有很多种,例如,为了更真实地重现用户输入的黑屏手势,绘制线程可以获取读取的多个采样点,顺序连接该采样点得到该手势类型对应的手势轨迹,并将包含采样点和采样点之间连线的画面帧发送至帧缓存(FrameBuffer),以动画的形式将该手势轨迹展示,按照设定的屏幕刷新率将黑屏手势轨迹刷新到触控显示屏,以模拟该黑屏手势的绘制过程。需要说明的是,上述过程可以由一个绘制线程单独完成,还可以是由两个或以上的绘制线程分别绘制手势轨迹片段。在各个绘制线程完成自己负责绘制的手势轨迹片段后,将已绘制完成的手势轨迹片段拼接为完整的手势轨迹,从而,可以有效地提高手势轨迹的绘制效率。\n[0042] 本发明实施例的技术方案,通过在检测到黑屏手势事件时,获取所述黑屏手势事件对应的手势类型;根据所述手势类型匹配所述黑屏手势对应的手势复杂度;根据所述手势复杂度确定数据采样策略,并根据所述数据采样策略读取手势坐标;通过至少一个绘制线程,根据已读取的所述手势坐标绘制所述黑屏手势对应的手势轨迹,按照设定的屏幕刷新率显示所述手势轨迹。按照不同的手势类型确定不同的数据采样策略,以实现多种手势坐标读取方式,减少了应用层的读取数据量以及在绘制手势轨迹时采用的数据量,提高了黑屏手势处理的速度,减少了系统响应时间,降低了系统功耗。\n[0043] 在上述技术方案的基础上,可选的,所述手势复杂度为所述手势类型对应的标准图形中拐点的数量;\n[0044] 其中,手势类型对应的标准图形也就是各手势类型对应的模板轨迹,例如,手势类型为“M”,则可以根据移动终端中存储的标准图形“M”的拐点数量确定手势复杂度,“M”中包含的拐点数量为3,则可以确定该手势类型的手势复杂度为3。对应其他手势类型的手势复杂度确定方式与此过程相同。\n[0045] 所述数据采样策略为:按照手势坐标写入驱动层内预设节点的时间顺序,读取位于起点、终点以及拐点的手势坐标作为参考点,在任意两个参考点之间按照预设间隔读取手势坐标。\n[0046] 其中,在用户输入黑屏手势时,驱动层会顺序读取黑屏手势数据,例如可以是每隔一定时间间隔读取一个坐标点等。因此,各手势坐标写入驱动层内预设节点是有时间的先后顺序的。对于一种手势类型,应用层可以根据不同的数据采样策略进行数据的读取,一般来讲,起点、终点以及拐点的读取是有必要的,对于其他坐标点,可以根据实际需求设定预设间隔进行读取。示例性地,如手势类型为“|”,拐点的数量为0,可以仅选取起点以及终点即可完成手势轨迹的确定,或者仅选取起点、中点以及终点进行手势轨迹的确定。又如,手势类型为“M”,拐点的数量为3,则可以根据拐点的数量确定,读取起点、拐点以及终点作为特征点,以及在任意两个特征点之间按照预设间隔读取手势坐标,例如可以是各特征点之间均读取3个点等。图3是本发明实施例提供的一种黑屏手势轨迹的显示示意图,其中,以手势类型“W”的起点301、第一拐点302、第二拐点303、第三拐点304以及终点305作为特征点,在各特征点之间选取三个手势坐标,利用读取的所有手势坐标绘制手势轨迹,具体可以是采用曲线拟合的方式确定手势轨迹。这种数据读取的方式以及手势轨迹的绘制方式,可以减少数据处理量,在能够保证手势轨迹准确度的前提下,简化了手势轨迹的确定过程,提高了系统处理效率,减少了系统响应时间,降低了系统功耗。\n[0047] 图4为本发明实施例提供的另一种加快黑屏手势处理的方法的流程图,本实施例可适用于提高黑屏手势处理速度的情况,该方法可以由加快黑屏手势处理的装置来执行,其中,该装置可由软件和/或硬件实现,一般可集成在移动终端中。如图4所示,该方法包括:\n[0048] 步骤410、对于至少一个手势类型,确定黑屏手势的拐点数量,并按照所述拐点数量确定所述手势类型对应的手势复杂度。\n[0049] 其中,黑屏手势可以是系统自带的手势,也可以是用户自定义的手势。可以根据手势类型对应的标准图形确定拐点的数量,也可以预先根据用户历史输入的手势数据确定黑屏手势轨迹,并确定拐点的数量。示例性地,如手势轨迹“M”或“W”对应的拐点数量为3个,手势轨迹“V”对应的拐点数量为1个。根据不同的拐点数量可以确定对应的手势复杂度,具体地,可以是拐点数量越多,手势复杂度的值越大。\n[0050] 步骤420、将所述手势类型与所述手势复杂度关联存储。\n[0051] 其中,将手势类型与手势复杂度关联存储,以便在使用的时候可以随时调取,根据存储的结果,匹配各手势类型对应的手势复杂度。\n[0052] 步骤430、在检测到黑屏手势事件时,获取所述黑屏手势事件对应的手势类型。\n[0053] 步骤440、根据所述手势类型匹配所述黑屏手势对应的手势复杂度。\n[0054] 步骤450、根据所述手势复杂度确定数据采样策略,并根据所述数据采样策略读取手势坐标。\n[0055] 步骤460、通过至少一个绘制线程,根据已读取的所述手势坐标绘制所述黑屏手势对应的手势轨迹,按照设定的屏幕刷新率显示所述手势轨迹。\n[0056] 本发明实施例的技术方案,根据拐点数量确定手势类型的手势复杂度,将手势类型与手势复杂度关联存储,以便可以在获取黑屏手势的手势类型后直接查询匹配得到手势复杂度,再根据手势复杂度确定数据采样策略,使手势复杂度的确定过程更加便利,减少了系统的数据处理量,降低了系统的功耗。\n[0057] 在上述技术方案的基础上,在确定黑屏手势的拐点数量之后,还包括:\n[0058] 将所述手势复杂度按照拐点数量划分为至少两个复杂度等级,分别为各个所述复杂度等级匹配针对所述手势坐标的数据采样策略。\n[0059] 其中,由于具有相同数量的拐点的手势轨迹之间存在一些共性,因此可以针对具有相同数量的拐点的手势轨迹,采用相同的数据采样策略。可以按照拐点的数量将手势复杂度分级。示例性地,可以将拐点数量为3的手势划分至同一复杂度等级,如手势类型“M”和“W”等;将拐点数量为2的手势划分至另外一个复杂度等级,如手势类型“N”和“Z”等;将拐点数量为1的手势划分至另一个复杂度等级,如手势类型“V”和“>”等;将拐点数量为0的手势再划分至另一个复杂度等级,如手势类型“—”和“|”等。再以复杂度等级为单位,匹配数据采样策略。\n[0060] 上述技术方案根据拐点数量为手势复杂度划分等级,再根据复杂度等级匹配数据采样策略,简化了数据采样策略的确定过程,减少了系统的数据处理量,提高了黑屏手势处理的速度,降低了系统功耗。\n[0061] 在上述技术方案的基础上,在将所述手势复杂度按照拐点数量划分为至少两个复杂度等级之后,还包括:\n[0062] 分别针对各个所述复杂度等级,匹配显示所述手势轨迹时的屏幕刷新率。\n[0063] 其中,屏幕刷新率为移动终端触控显示屏画面刷新的帧率。一般,触控显示屏会以\n60Hz的刷新率刷新。然而,本发明实施例的技术方案并不是以固定的屏幕刷新率显示手势轨迹。可以预先为目标手势轨迹设置对应的屏幕刷新率,以采用目标手势轨迹对应的屏幕刷新率将该待显示内容刷新至触控显示屏上进行显示。具体地,可以是复杂度等级越高,匹配的屏幕刷新率越高。\n[0064] 本发明的技术方案,根据不同的复杂度等级有针对性地设置显示手势轨迹时的屏幕刷新率,在能够保障手势轨迹正常显示的情况下,降低了触控显示屏的功耗,延长了终端的续航时间。\n[0065] 图5为本发明实施例提供的另一种加快黑屏手势处理的方法的流程图,本实施例可适用于提高黑屏手势处理速度的情况,该方法可以由加快黑屏手势处理的装置来执行,其中,该装置可由软件和/或硬件实现,一般可集成在移动终端中。如图5所示,该方法包括:\n[0066] 步骤510、在检测到黑屏手势事件时,获取所述黑屏手势事件对应的手势类型。\n[0067] 步骤520、根据所述手势类型匹配所述黑屏手势对应的手势复杂度。\n[0068] 步骤530、根据所述手势复杂度确定数据采样策略,并根据所述数据采样策略读取手势坐标。\n[0069] 步骤540、通过至少一个绘制线程,根据已读取的所述手势坐标绘制所述黑屏手势对应的手势轨迹,按照设定的屏幕刷新率显示所述手势轨迹。\n[0070] 步骤550、通过至少一个开启线程,执行在后台开启所述手势类型对应的应用程序的操作。\n[0071] 其中,所述开启线程与所述绘制线程并行执行。开启线程用于执行在后台打开手势类型对应的应用程序的操作。在安卓系统中,应用程序是由Activity组成的,因此,应用程序的启动过程实际上就是应用程序中的默认Activity的启动过程,包括Activity类的调用及对象的实例化等。在后台开启该手势类型对应的应用程序后,缓存应用程序界面对应的画面帧,暂不绘制应用程序界面至触控显示屏。\n[0072] 预先建立手势类型与应用程序或手机功能的关联关系,可以以设定白名单的方式存储手势类型与应用程序(如进程号或安装包名)或手机功能(如手机唤醒、会议模式或标准模式等工作模式切换)的关联关系。可以理解的是建立手势类型与应用程序的关联关系的方式有很多种,本发明实施例不作限定。例如,可以在移动终端出厂前为移动终端的设定功能或设定应用设置快捷启动功能,通过输入设定手势可以在熄屏状态下直接执行该设定功能或打开该设定应用。以手电筒为例,在移动终端出厂前预先设置手电筒具有快捷启动功能,通过输入黑屏手势“O”可以在熄屏状态下打开手电筒。又如,移动终端提供黑屏手势配置功能,在用户开启黑屏手势功能时,提示用户选择需要设置快捷启动功能的应用程序,并输入或选择该应用程序对应的黑屏手势,从而建立手势类型与应用程序的关联关系。\n[0073] 应用层在接收到黑屏手势事件时,通过开启线程查询预先设定的白名单,确定与该手势类型对应的应用程序,在后台开启该应用程序。\n[0074] 步骤560、判断是否满足预设显示条件。若是,则执行步骤570。\n[0075] 其中,该显示条件可以根据实际需要设置,本发明实施例并不作具体限定。例如,可以规定触控显示屏上手势轨迹的显示时间阈值。又如,可以规定触控显示屏上显示了绘制至触控显示屏上的手势轨迹的结束点为显示条件,即在手势轨迹绘制出结束点。\n[0076] 步骤570、判断是否检测到用户输入的针对应用程序的放弃开启指令,若是,则执行步骤580,否则执行步骤590。\n[0077] 其中,一些情况下,用户可能输入了错误的黑屏手势,并在显示手势轨迹时及时发现了该错误,此时,用户往往不希望该错误的黑屏手势对应的应用程序被打开并在触控显示屏上显示。可以通过在绘制该应用程序对应的界面至触控显示屏之前,增加后台关闭应用程序的功能。例如,在绘制该应用程序对应的界面至触控显示屏之前,判断是否检测到用户输入的针对应用程序的放弃开启指令;若是,则在后台关闭该应用程序,并控制移动终端恢复黑屏手势模式,可以实现在显示黑屏手势的应用程序之前,及时拦截错误的黑屏手势对应的应用程序,避免浪费图像处理器的处理资源。同时,可以避免显示错误的黑屏手势对应的应用程序后,用户再关闭该应用程序,可以有效地缩短重新进入黑屏手势模式的时间。\n[0078] 步骤580、在后台关闭所述应用程序。\n[0079] 步骤590、绘制所述应用程序对应的界面至所述触控显示屏,以在所述触控显示屏上显示所述应用程序界面。\n[0080] 其中,绘制应用程序对应的界面至触控显示屏的过程可以是从缓存有应用程序界面对应的画面帧的预设存储区域读取数据,并传输至帧缓存(FrameBuffer),以按照设定的屏幕刷新率将该应用程序界面刷新至触控显示屏,将显示画面由手势轨迹直接切换至应用程序界面。\n[0081] 本实施例的技术方案,可以有效地提升黑屏手势的响应速度,缩短由检测到黑屏手势至打开该黑屏手势对应的应用程序所需的时间。\n[0082] 图6是本发明实施例提供的一种加快黑屏手势处理的装置结构框图。该装置可有软件和/或硬件实现,一般集成在移动终端中。如图6所示,该装置可以包括:\n[0083] 手势事件检测模块610,用于在检测到黑屏手势事件时,获取所述黑屏手势事件对应的手势类型;\n[0084] 复杂度匹配模块620,用于根据所述手势类型匹配所述黑屏手势对应的手势复杂度;\n[0085] 采样策略确定模块630,用于根据所述手势复杂度确定数据采样策略,并根据所述数据采样策略读取手势坐标;\n[0086] 手势轨迹绘制模块640,用于通过至少一个绘制线程,根据已读取的所述手势坐标确定所述黑屏手势对应的手势轨迹,按照设定的屏幕刷新率显示所述手势轨迹。\n[0087] 本发明实施例的技术方案,通过在检测到黑屏手势事件时,获取所述黑屏手势事件对应的手势类型;根据所述手势类型匹配所述黑屏手势对应的手势复杂度;根据所述手势复杂度确定数据采样策略,并根据所述数据采样策略读取手势坐标;通过至少一个绘制线程,根据已读取的所述手势坐标绘制所述黑屏手势对应的手势轨迹,按照设定的屏幕刷新率显示所述手势轨迹。按照不同的手势类型确定不同的数据采样策略,以实现多种手势坐标读取方式,减少了应用层的读取数据量以及在绘制手势轨迹时采用的数据量,提高了黑屏手势处理的速度,减少了系统响应时间,降低了系统功耗。\n[0088] 可选的,还包括手势复杂度确定模块,具体用于:\n[0089] 在检测到黑屏手势事件之前,对于至少一个手势类型,确定黑屏手势的拐点数量,并按照所述拐点数量确定所述手势类型对应的手势复杂度;\n[0090] 将所述手势类型与所述手势复杂度关联存储。\n[0091] 可选的,还包括复杂度分级模块,具体用于:\n[0092] 在确定黑屏手势的拐点数量之后,将所述手势复杂度按照拐点数量划分为至少两个复杂度等级,分别为各个所述复杂度等级匹配针对所述手势坐标的数据采样策略。\n[0093] 可选的,还包括刷新率匹配模块,具体用于:\n[0094] 在将所述手势复杂度按照拐点数量划分为至少两个复杂度等级之后,分别针对各个所述复杂度等级,匹配显示所述手势轨迹时的屏幕刷新率。\n[0095] 可选的,所述手势复杂度为所述手势类型对应的标准图形中拐点的数量;\n[0096] 所述数据采样策略为:按照手势坐标写入驱动层内预设节点的时间顺序,读取位于起点、终点以及拐点的手势坐标作为参考点,在任意两个参考点之间按照预设间隔读取手势坐标。\n[0097] 可选的,还包括应用程序打开模块,具体用于:\n[0098] 通过至少一个开启线程,执行在后台开启所述手势类型对应的应用程序的操作,其中,所述开启线程与所述绘制线程并行执行;\n[0099] 在满足预设显示条件时,绘制所述应用程序对应的界面至所述触控显示屏,以在所述触控显示屏上显示所述应用程序界面。\n[0100] 可选的,还包括应用程序关闭模块,具体用于:\n[0101] 在绘制所述应用程序对应的界面至所述触控显示屏之前,判断是否检测到用户输入的针对应用程序的放弃开启指令;\n[0102] 若是,则在后台关闭所述应用程序。\n[0103] 存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。\n[0104] 当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的加快黑屏手势处理的操作,还可以执行本发明任意实施例所提供的加快黑屏手势处理方法中的相关操作。\n[0105] 本发明实施例提供了一种移动终端,该移动终端中可集成本发明实施例提供的加快黑屏手势处理的装置。图7为本发明实施例提供的一种移动终端的结构示意图。如图7所示,该移动终端可以包括:壳体(图中未示出)、存储器701、中央处理器(Central Processing Unit,CPU)702(又称处理器,以下简称CPU)、电路板(图中未示出)、触控显示屏\n712和电源电路(图中未示出)。所述触控显示屏712,包括触控芯片,用于将用户操作转换成电信号输入至所述处理器,并显示可视输出信号;所述电路板安置在所述触控显示屏712与所述壳体围成的空间内部;所述CPU802和所述存储器701设置在所述电路板上;所述电源电路,用于为所述移动终端的各个电路或器件供电;所述存储器701,用于存储计算机程序;所述CPU702读取并执行所述存储器701中存储的计算机程序。所述CPU702在执行所述计算机程序时实现以下步骤:在检测到黑屏手势事件时,获取所述黑屏手势事件对应的手势类型;\n根据所述手势类型匹配所述黑屏手势对应的手势复杂度;根据所述手势复杂度确定数据采样策略,并根据所述数据采样策略读取手势坐标;通过至少一个绘制线程,根据已读取的所述手势坐标绘制所述黑屏手势对应的手势轨迹,按照设定的屏幕刷新率显示所述手势轨迹。\n[0106] 所述移动终端还包括:外设接口703、RF(Radio Frequency,射频)电路705、音频电路706、扬声器711、电源管理芯片708、输入/输出(I/O)子系统709、其他输入/控制设备710以及外部端口704,这些部件通过一个或多个通信总线或信号线707来通信。\n[0107] 应该理解的是,图示移动终端700仅仅是移动终端的一个范例,并且移动终端700可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。\n[0108] 下面就本实施例提供的集成有加快黑屏手势处理的装置的移动终端进行详细的描述,该移动终端以手机为例。\n[0109] 存储器701,所述存储器701可以被CPU702、外设接口703等访问,所述存储器701可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。\n[0110] 外设接口703,所述外设接口703可以将设备的输入和输出外设连接到CPU702和存储器701。\n[0111] I/O子系统709,所述I/O子系统709可以将设备上的输入输出外设,例如触控显示屏712和其他输入/控制设备710,连接到外设接口703。I/O子系统709可以包括显示控制器\n7091和用于控制其他输入/控制设备710的一个或多个输入控制器7092。其中,一个或多个输入控制器7092从其他输入/控制设备710接收电信号或者向其他输入/控制设备710发送电信号,其他输入/控制设备710可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器7092可以与以下任一个连接:键盘、红外端口、USB接口以及诸如鼠标的指示设备。\n[0112] 触控显示屏712,所述触控显示屏712是用户终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。\n[0113] I/O子系统709中的显示控制器7091从触控显示屏712接收电信号或者向触控显示屏712发送电信号。触控显示屏712检测触控显示屏上的接触,显示控制器7091将检测到的接触转换为与显示在触控显示屏712上的用户界面对象的交互,即实现人机交互,显示在触控显示屏712上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触控显示屏形成的触摸敏感表面的延伸。\n[0114] RF电路705,主要用于建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。具体地,RF电路705接收并发送RF信号,RF信号也称为电磁信号,RF电路705将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路705可以包括用于执行这些功能的已知电路,其包括但不限于天线系统、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC(COder-DECoder,编译码器)芯片组、用户标识模块(Subscriber Identity Module,SIM)等等。\n[0115] 音频电路706,主要用于从外设接口703接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器711。\n[0116] 扬声器711,用于将手机通过RF电路705从无线网络接收的语音信号,还原为声音并向用户播放该声音。\n[0117] 电源管理芯片708,用于为CPU702、I/O子系统及外设接口所连接的硬件进行供电及电源管理。\n[0118] 本发明实施例提供的移动终端,按照不同的手势类型确定不同的数据采样策略,以实现多种手势坐标读取方式,减少了应用层的读取数据量以及在绘制手势轨迹时采用的数据量,提高了黑屏手势处理的速度,减少了系统响应时间,降低了系统功耗。\n[0119] 上述加快黑屏手势处理的装置、存储介质及移动终端可执行本发明前述所有实施例所提供的加快黑屏手势处理的方法,具备执行上述加快黑屏手势处理的方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明前述所有实施例所提供的加快黑屏手势处理的方法。\n[0120] 注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
法律信息
- 2019-08-27
- 2019-04-19
著录事项变更
申请人由广东欧珀移动通信有限公司变更为OPPO广东移动通信有限公司
地址由523860 广东省东莞市长安镇乌沙海滨路18号变更为523860 广东省东莞市长安镇乌沙海滨路18号
- 2017-12-22
实质审查的生效
IPC(主分类): G06F 3/0488
专利申请号: 201710632258.7
申请日: 2017.07.28
- 2017-11-28
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2015-05-20
|
2015-01-30
| | |
2
| |
2016-08-03
|
2016-03-30
| | |
3
| |
2013-05-08
|
2011-11-07
| | |
4
| |
2016-11-09
|
2016-06-20
| | |
5
| |
2016-03-23
|
2015-11-30
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |