UI绘制方法、装置及存储介质制造方法及图纸

技术编号:19489077 阅读:41 留言:0更新日期:2018-11-17 12:02
本公开是关于一种UI绘制方法、装置及存储介质,其中,UI绘制方法包括:在一个Vsync周期内接收到Vsync信号之前,根据获取到的基于应用的滑动操作所产生的滑动轨迹的位移确定出第一个有效滑动轨迹;将所述第一个有效滑动轨迹的参数发送给App层,以使所述App层基于所述参数进行UI在所述App层的绘制过程;在所述App层完成所述UI在所述App层的绘制过程后,通知SurfaceFlinger层进行所述UI在所述SurfaceFlinger层的绘制过程,从而提高了终端的跟手性。

【技术实现步骤摘要】
UI绘制方法、装置及存储介质
本公开涉及计算机应用
,尤其涉及一种UI(UserInterface,用户界面)绘制方法、装置及存储介质。
技术介绍
当前,移动终端的性能在不断的提升,用户对移动终端的流畅性要求也越来越高,跟手性是衡量移动终端流畅性的一个重要指标,跟手性是通过用户手指在移动终端触摸屏幕上按下进行滑动到移动终端的画面出现变化的时间来衡量的。在Android(安卓)系统中,Android系统的绘制过程分为App(应用)层和SurfaceFlinger层,SurfaceFlinger层负责管理应用端的surface(界面),将所有应用端的surface复合,它是介于图形库和应用之间的一层。每个应用在其surface完成各种图形操作后,请求SurfaceFlinger显示到屏幕,surfaceflinger就会将所有的surface叠加起来,并且反映到framebuffer(帧缓冲)。App层和SurfaceFlinger层的绘制是通过Vsync周期来控制的,Vsync周期决定了用户在屏幕上进行点击或滑动操作后,屏幕所呈现出的画面的变化速度,App和SurfaceFlinger都必须等待Vsync信号后才执行绘制操作。
技术实现思路
为克服相关技术中存在的问题,本公开提供一种UI绘制方法、装置及存储介质。根据本公开的一个方面,提供了一种用户界面UI绘制方法,该方法应用于终端,包括:在一个Vsync周期内接收到Vsync信号之前,根据获取到的针对应用的滑动操作所产生的滑动轨迹的位移确定出第一个有效滑动轨迹;将所述第一个有效滑动轨迹的参数发送给App层,以使所述App层基于所述参数进行UI在所述App层的绘制过程;在所述App层完成所述UI在所述App层的绘制过程后,通知SurfaceFlinger层进行所述UI在所述SurfaceFlinger层的绘制过程。可选地,所述方法还包括:在所述App层创建所述应用的窗口时,保存通信接口,所述通信接口作为通知所述SurfaceFlinger层进行所述UI在SurfaceFlinger层的绘制过程的通信接口。可选地,所述根据获取到的针对应用的滑动操作所产生的滑动轨迹的位移确定出第一个有效滑动轨迹,包括:确定所述滑动轨迹的位移是否超过第一阈值;在所述滑动轨迹的位移超过所述第一阈值时,确定该滑动轨迹为有效滑动轨迹;在所述滑动轨迹的位移未超过所述第一阈值时,对所述滑动轨迹的位移进行补偿;确定补偿后的位移是否超过第二阈值;在补偿后的位移超过所述第二阈值时,确定所述滑动轨迹为有效滑动轨迹;在补偿后的位移未超过所述第二阈值时,确定所述滑动轨迹为无效滑动轨迹。可选地,所述第一阈值和/或第二阈值为所述终端中配置的TouchSlop值。可选地,所述方法还包括:在所述一个Vsync周期内确定出第一个有效滑动轨迹之后,获取其他针对所述应用的滑动操作所产生的其他有效滑动轨迹;待接收到Vsync信号后,将所述其他有效滑动轨迹对应的参数发送给App层,以使所述App层基于所述其他有效滑动轨迹对应的参数进行UI在所述App层的绘制过程。根据本公开的第二个方面,提供了一种用户界面UI绘制装置,该装置应用于终端,包括:确定模块,用于在一个Vsync周期内接收到Vsync信号之前,根据获取到的针对应用的滑动操作所产生的滑动轨迹的位移确定出第一个有效滑动轨迹;第一发送模块,用于将所述第一个有效滑动轨迹的参数发送给App层,以使所述App层基于所述参数进行UI在所述App层的绘制过程;通知模块,用于在所述App层完成所述UI在所述App层的绘制过程后,通知SurfaceFlinger层进行所述UI在所述SurfaceFlinger层的绘制过程。可选地,所述装置还包括:保存模块,用于在所述App层创建所述应用的窗口时,保存通信接口,所述通信接口作为通知所述SurfaceFlinger层进行所述UI在SurfaceFlinger层的绘制过程的通信接口。可选地,所述确定模块,包括:第一确定子模块,用于确定获取到的滑动轨迹的位移是否超过第一阈值;第二确定子模块,用于在所述滑动轨迹的位移超过所述第一阈值时,确定该滑动轨迹为有效滑动轨迹;第三确定子模块,用于在所述滑动轨迹的位移未超过所述第一阈值时,对所述滑动轨迹的位移进行补偿;第四确定子模块,用于确定补偿后的位移是否超过第二阈值;第五确定子模块,用于在补偿后的位移超过所述第二阈值时,确定所述滑动轨迹为有效滑动轨迹;第六确定子模块,用于在补偿后的位移未超过所述第二阈值时,确定所述滑动轨迹为无效滑动轨迹。可选地,所述第一阈值和/或第二阈值为所述终端中配置的TouchSlop值。可选地,所述装置还包括:获取模块,用于在所述一个Vsync周期内确定出第一个有效滑动轨迹之后,获取其他针对所述应用的滑动操作所产生的其他有效滑动轨迹;第二发送模块,用于待接收到Vsync信号后,将所述其他有效滑动轨迹对应的参数发送给App层,以使所述App层基于所述其他有效滑动轨迹对应的参数进行UI在所述App层的绘制过程。根据本公开的第三个方面,提供了一种用户界面UI绘制装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:在一个Vsync周期内接收到Vsync信号之前,根据获取到的针对应用的滑动操作所产生的滑动轨迹的位移确定出第一个有效滑动轨迹;将所述第一个有效滑动轨迹的参数发送给App层,以使所述App层基于所述参数进行UI在所述App层的绘制过程;在所述App层完成所述UI在所述App层的绘制过程后,通知SurfaceFlinger层进行所述UI在所述SurfaceFlinger层的绘制过程。根据本公开的第四个方面,提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得处理器能够执行根据本公开第一个方面所述的任一项所述的方法。本公开的实施例提供的技术方案可以包括以下有益效果:本公开的实施例提供的终端界面绘制方法,在接收到Vsync之前,确定出针对应用的滑动操作所产生的第一个有效滑动轨迹后,即将该滑动轨迹的参数发送给App层,使得App层提前执行UI的绘制过程,在App层绘制结束后,通知SurfaceFlinger层开始绘制,又使得SurfaceFlinger层也提前了UI的绘制过程,缩短了用户开始滑动操作到终端画面出现变化的时间,提高了终端的跟手性。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。图1是根据一示例性实施例示出的一种UI绘制方法的流程图。图2是根据一示例性实施例示出的一种UI绘制方法的流程图。图3是根据一示例性实施例示出的一种UI绘制方法的流程图。图4是根据一示例性实施例示出的一种UI绘制方法的流程图。图5是App层以及SurfaceFlinger层均等待接收到Vsync信号后再执行UI绘制过程的示意图。图6是App层以及SurfaceFlinger层不等待接收到Vsync信号执行UI绘制过程的示意图。图7是根据一示例性实施例示出的一种UI绘制装置的本文档来自技高网...

【技术保护点】
1.一种用户界面UI绘制方法,其特征在于,该方法应用于终端,包括:在一个Vsync周期内接收到Vsync信号之前,根据获取到的针对应用的滑动操作所产生的滑动轨迹的位移确定出第一个有效滑动轨迹;将所述第一个有效滑动轨迹的参数发送给App层,以使所述App层基于所述参数进行用户界面UI在所述App层的绘制过程;在所述App层完成所述UI在所述App层的绘制过程后,通知SurfaceFlinger层进行所述UI在所述SurfaceFlinger层的绘制过程。

【技术特征摘要】
1.一种用户界面UI绘制方法,其特征在于,该方法应用于终端,包括:在一个Vsync周期内接收到Vsync信号之前,根据获取到的针对应用的滑动操作所产生的滑动轨迹的位移确定出第一个有效滑动轨迹;将所述第一个有效滑动轨迹的参数发送给App层,以使所述App层基于所述参数进行用户界面UI在所述App层的绘制过程;在所述App层完成所述UI在所述App层的绘制过程后,通知SurfaceFlinger层进行所述UI在所述SurfaceFlinger层的绘制过程。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述App层创建所述应用的窗口时,保存通信接口,所述通信接口作为通知所述SurfaceFlinger层进行所述UI在SurfaceFlinger层的绘制过程的通信接口。3.根据权利要求1所述的方法,其特征在于,所述根据获取到的针对应用的滑动操作所产生的滑动轨迹的位移确定出第一个有效滑动轨迹,包括:确定所述滑动轨迹的位移是否超过第一阈值;在所述滑动轨迹的位移超过所述第一阈值时,确定该滑动轨迹为有效滑动轨迹;在所述滑动轨迹的位移未超过所述第一阈值时,对所述滑动轨迹的位移进行补偿;确定补偿后的位移是否超过第二阈值;在补偿后的位移超过所述第二阈值时,确定所述滑动轨迹为有效滑动轨迹;在补偿后的位移未超过所述第二阈值时,确定所述滑动轨迹为无效滑动轨迹。4.根据权利要求3所述的方法,其特征在于,所述第一阈值和/或所述第二阈值为所述终端中配置的TouchSlop值。5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:在所述一个Vsync周期内确定出第一个有效滑动轨迹之后,获取其他针对所述应用的滑动操作所产生的其他有效滑动轨迹;待接收到Vsync信号后,将所述其他有效滑动轨迹对应的参数发送给App层,以使所述App层基于所述其他有效滑动轨迹对应的参数进行UI在所述App层的绘制过程。6.一种用户界面UI绘制装置,其特征在于,该装置应用于终端,包括:确定模块,用于在一个Vsync周期内接收到Vsync信号之前,根据获取到的针对应用的滑动操作所产生的滑动轨迹的位移确定出第一个有效滑动轨迹;第一发送模块,用于将所述第一个有效滑动轨迹的参数发送给App层,以使所述App层基于所述参数进行用户界面UI在所述App层的绘制过程;通知模块,用于在所述App层完成所述UI在所述App层...

【专利技术属性】
技术研发人员:顾云建
申请(专利权)人:北京小米移动软件有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1