CN118051148A - 一种窗口缩放的方法、通信装置以及电子设备 - Google Patents
一种窗口缩放的方法、通信装置以及电子设备 Download PDFInfo
- Publication number
- CN118051148A CN118051148A CN202211460815.9A CN202211460815A CN118051148A CN 118051148 A CN118051148 A CN 118051148A CN 202211460815 A CN202211460815 A CN 202211460815A CN 118051148 A CN118051148 A CN 118051148A
- Authority
- CN
- China
- Prior art keywords
- window
- point
- sampling point
- control
- electronic device
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 228
- 238000004891 communication Methods 0.000 title claims abstract description 58
- 230000006854 communication Effects 0.000 title claims abstract description 58
- 230000008569 process Effects 0.000 claims abstract description 95
- 238000005070 sampling Methods 0.000 claims description 170
- 230000001133 acceleration Effects 0.000 claims description 35
- 230000008859 change Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 12
- 230000001976 improved effect Effects 0.000 abstract description 21
- 230000000903 blocking effect Effects 0.000 abstract description 19
- 238000012545 processing Methods 0.000 description 63
- 230000006870 function Effects 0.000 description 40
- 238000010586 diagram Methods 0.000 description 32
- 238000009877 rendering Methods 0.000 description 20
- 230000000694 effects Effects 0.000 description 17
- 238000007726 management method Methods 0.000 description 14
- 230000005236 sound signal Effects 0.000 description 13
- 238000010295 mobile communication Methods 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 10
- 230000007704 transition Effects 0.000 description 10
- 230000000007 visual effect Effects 0.000 description 10
- 210000000988 bone and bone Anatomy 0.000 description 9
- 239000000203 mixture Substances 0.000 description 9
- 230000004044 response Effects 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000001965 increasing effect Effects 0.000 description 4
- 230000008707 rearrangement Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000005429 filling process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000002138 osteoinductive effect Effects 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Landscapes
- Telephone Function (AREA)
Abstract
本申请提供了一种窗口缩放的方法、通信装置以及电子设备,该方法应用于电子设备,电子设备包括显示屏,显示屏的显示界面上显示有至少一个窗口,该方法包括:接收用户的第一操作,第一操作用于对第一窗口进行缩放,第一窗口为至少一个窗口中的任意一个;在第一操作过程中,绘制第一窗口对应的第一图层和第二图层,第一图层包括第一窗口的标题栏、第一窗口的边框,第二图层包括第一窗口的内容区域;当显示界面刷新时,在显示屏上显示绘制的第一窗口。本申请提供的方法将窗口分为第一图层和第二图层进行绘制,由于第一图层的绘制可以很快完成,优先将第一图层绘制的内容显示在显示界面上,避免造成缩放过程中出现卡顿的问题,提升操作流畅性。
Description
技术领域
本申请涉及图像处理及显示技术领域,更为具体的,涉及一种窗口缩放的方法、通信装置以及电子设备。
背景技术
随着电子技术的发展,移动终端中的应用越来越多,用户也趋于在同时查看多个窗口。当电子设备的界面上显示多个窗口时,用户为了查看窗口中的内容需要对窗口进行缩放调整,因此,在窗口缩放过程中的流畅性是人机交互过程中的一项重要指标。
由于在窗口进行缩放时,显示界面需要不断重新布局,每次重新布局都会使得窗口中的各个控件的大小和位置更新。当窗口中的控件较多的情况下,窗口在缩放过程中就会出现卡顿的情况,使得窗口在缩放过程中的流畅性较差。
发明内容
本申请提供了一种窗口缩放的方法、通信装置以及电子设备,该方法通过将窗口的标题栏、窗口的边框和窗口的内容区域分图层绘制,并将窗口的标题栏以及窗口的边框优先显示的,解决了窗口在缩放过程中卡顿的问题,提升了窗口在缩放过程中的流畅性。
第一方面,本申请提供了一种窗口缩放的方法,该方法应用于电子设备,电子设备包括显示屏,显示屏的显示界面上显示有至少一个窗口,该方法包括:接收用户的第一操作,第一操作用于对第一窗口进行缩放,第一窗口为至少一个窗口中的任意一个;在第一操作过程中,绘制第一窗口对应的第一图层和第二图层,第一图层包括第一窗口的标题栏、第一窗口的边框,第二图层包括第一窗口的内容区域;当显示界面刷新时,在显示屏上显示绘制的第一窗口。
第一方面提供的方法,通过将第一窗口的标题栏、第一窗口的边框在第一图层绘制,将第一窗口的内容区域在第二图层绘制,当第一窗口的大小发生缩放时,由于窗口的标题栏以及窗口的边框的绘制任务简单且固定,第一图层绘制窗口的标题栏以及窗口的边框的速度会快于第二图层绘制窗口的区域内容,当显示界面刷新时,可以优先显示第一图层绘制完成的内容,而不受第二图层的影响,在某种程度上提高了窗口刷新的流畅性。
在第一方面一种可能的实现方式中,第一窗口对应的第一图层和第二图层是同时开始绘制的。在该种实现方式中通过将第一窗口对应的第一图层和第一窗口对应的第二图层同时绘制,可以保证第一图层的绘制早于第二图层的绘制,然后当显示界面刷新时,显示屏上显示绘制的第一窗口中的第一图层可以显示在显示界面上,降低第一窗口在缩放过程中的卡顿。
第二方面,本申请提供了一种窗口缩放的方法,该方法应用于电子设备,该电子设备的显示界面上包括至少一个窗口,每个窗口包括至少一个控件,该方法包括:接收用户的第一操作,第一操作用于对第一窗口进行缩放,第一窗口为至少一个窗口中的任意一个;在第一操作过程中,根据第一窗口中的各个控件在第一采样点的位置和/或大小,预测第一窗口中的各个控件在第一采样点的下一个采样点的位置和/或大小;基于第一窗口中的各个控件在第一采样点的下一个采样点的位置和/或大小绘制目标窗口的内容区域;在第一采样点和下一个采样点对应的时刻之间显示目标窗口。
第二方面提供的方法,通过在窗口缩放过程中,对第一窗口中的各个控件在第一采样点的位置和/或大小进行采样计算,从而预测出第一窗口中的各个控件在第一采样点的下一个采样点的位置和/或大小,并根据预测出来的第一窗口中的各个控件在第一采样点的下一个采样点的位置和/或大小提前绘制第一窗口在下一个采样点的图像,并且将提前绘制好的第一窗口在下一个采样点的图像显示在第一采样点和下一个采样点对应的时刻之间,从而消除第一窗口在刷新过程中的闪变现象,提升用户视觉体验。
需要说明的是,当用户在电子设备的触摸屏上发起触摸操作时,电子设备的触摸屏以一定的采样频率进行采样,第一采样点可以为采样点中的任意一个。
第二方面一种可能的实现方式中,基于第一窗口中的各个控件在第一采样点的下一个采样点的位置和/或大小绘制目标窗口的内容区域,包括:根据第一窗口中的各个控件的中间状态绘制目标窗口的内容区域,中间状态包括:第一窗口中的各个控件在第一采样点至第一采样点的下一个采样点的时间段内,第n帧对应的各个控件的位置和或者大小。在该种实现方式中,根据第一窗口中的各个控件的中间状态绘制目标窗口的内容区域,可以提高目标窗口的绘制速度,减小界面卡顿。
第二方面一种可能的实现方式中,根据第一窗口中的各个控件在第一采样点的位置和/或大小,和第一窗口中的各个控件在第一采样点的下一个采样点的位置和/或大小,确定第一窗口中的各个控件的变化速度;根据第一窗口中的各个控件的变化速度和第一窗口中的各个控件在第一采样点的位置和/或大小,确定第一窗口中的各个控件在第一采样点至第一采样点的下一个采样点的时间段内,第n帧对应的各个控件的位置和或者大小,其中,1<n≤显示界面刷新速率,n为整数。
第二方面一种可能的实现方式中,显示界面刷新速率小于预设阈值。在该种实现方式中,降低显示界面刷新速率可以降低中间状态的计算量,降低电子设备功耗。
应理解,该预设阈值可以根据具体情况设定,本申请实施例不做限定。示例性的,该预设阈值可以为60Hz。
第二方面一种可能的实现方式中,根据第一窗口中的各个控件在第一采样点的位置和/或大小,预测第一窗口中的各个控件在第一个采样点的下一个采样点的位置和/或大小,包括:根据第一报点数据和已缓存的报点数据确定下一个报点数据的预测位置轨迹,第一报点数据是根据第一采样点生成的,下一个报点数据是根据第一采样点的下一个采样点生成的;根据下一个报点数据的预测位置轨迹,确定下一个报点数据在预测位置轨迹上的预测位置;基于预测位置确定第一窗口中的各个控件在第一个采样点的下一个报点数据上的位置和/或大小。
应理解,触摸屏可以包括触摸屏感应器和触摸屏控制器,触摸屏感应器用于检测用户的触摸操作,并将触摸操作对应的触摸信息发送给触摸屏控制器。当触摸屏控制器接收到该触摸信息时,将该触摸信息转换成对应的报点数据,以及根据预设报点上报率将该报点数据上报给微处理器。
第二方面一种可能的实现方式中,根据第一报点数据和已缓存的报点数据确定下一个报点数据的预测位置轨迹,包括:根据第一报点数据和已缓存的报点数据确定第一滑动速度,第一滑动速度是第一报点数据对应的采样时刻的滑动速度;根据已缓存的各个报点数据对应的触摸点位置上的滑动速度,以及报点周期,计算第一报点数据对应的触摸点位置上的加速度;根据第一报点数据对应的触摸点位置上的加速度,和预测时间间隔,确定下一个报点数据的预测位置轨迹。
示例性的,可以根据第一报点数据对应的触摸点位置上的加速和预测时间间隔,确定第一报点数据与下一个报点数据之间的距离,然后以第一报点数据为圆心,以第一报点数据与下一个报点数据之间的距离为半径画圆弧,则该圆弧为下一个报点数据的预测位置轨迹。
第二方面一种可能的实现方式中,根据下一个报点数据的预测位置轨迹,确定下一个报点数据在预测位置轨迹上的预测位置,包括:基于第一报点数据对应的触摸点位置上的加速度,确定下一个报点数据在预测位置轨迹上的预测位置。
应理解,加速度具有方向性,因此可以根据第一报点数据对应的触摸点位置上的加速度的方向,确定下一个报点数据在预测位置轨迹上的预测位置。
第二方面一种可能的实现方式中,绘制目标窗口对应的第一图层,第一图层包括第一窗口的标题栏、第一窗口的边框,目标窗口的对应的第二图层包括目标窗口的内容区域。在该种实现方式中,由于第一图层的绘制内容简单且固定,通过将第一图层和第二图层分开绘制,当界面刷新时可以优先将第一图层的内容显示在显示界面上,提高界面刷新的流畅性。
第二方面一种可能的实现方式中,目标窗口对应的第一图层和第二图层是同时开始绘制的。在该种实现方式中,通过将第一窗口对应的第一图层和第一窗口对应的第二图层同时绘制,可以保证第一图层的绘制早于第一图层的绘制,然后当显示界面刷新时,显示屏上显示绘制的第一窗口中的第一图层可以显示在显示界面上,降低第一窗口在缩放过程中的卡顿。
第三方面,提供了一种通信装置,该通信装置包括用于执行以上第一方面或者第一方面的任意一方面可能的实现方式中的各个步骤的单元,或者,用于执行以上第二方面或者第二方面的任意一方面可能的实现方式中的各个步骤的单元。
第四方面,提供了一种电子设备,该电子设备包括上述第三方面提供的通信装置。
第五方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序在被处理器执行时,用于执行以上第一方面或者第一方面的任意一方面可能的实现方式中的方法,或者,用于执行以上第二方面或者第二方面的任意一方面可能的实现方式中的方法。
第六方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序被执行时,用于执行以上第一方面或者第一方面的任意一方面可能的实现方式中的方法,或者,用于执行以上第二方面或者第二方面的任意一方面可能的实现方式中的方法。
第七方面,提供了一种芯片,该芯片包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有该芯片的通信设备执行用于执行以上第一方面或者第一方面的任意一方面可能的实现方式中的方法,或者,用于执行以上第二方面或者第二方面的任意一方面可能的实现方式中的方法。
附图说明
图1示出了电子设备100的结构示意图;
图2示出了电子设备上包含多个窗口的场景示意图;
图3示出了电子设备的软件处理流程示意图;
图4示出了现有图像系统处理流程;
图5示出了一例相关技术中窗口缩放的界面示意图;
图6示出了另一例相关技术中窗口缩放的界面示意图;
图7示出了本申请实施例提供的窗口缩放的方法700的示意性流程图;
图8示出了本申请实施例提供的第一操作的示意图;
图9示出了相关技术中电子设备的窗口重新布局的示意图;
图10示出了本申请实施例提供的窗口重新布局的示意图;
图11示出了本申请实施例提供的另一例窗口缩放的方法的示意性流程图;
图12示出了相关技术中一例窗口缩放的界面示意图;
图13示出了本申请实施例提供的一例窗口缩放的界面示意图;
图14示出了本申请实施例提供的另一例窗口缩放的方法1400的示意性流程图;
图15示出了一种触控屏的滑动响应控制方法中报点事件在触控屏上的坐标位置示意图;
图16示出了下一个报点数据预测方法的示意性流程图;
图17示出了本申请实施例提供的一例根据第一报点数据在触控屏上预测下一个报点数据的示意图;
图18示出了本申请实施例提供的另一例窗口缩放的流程示意图;
图19是示出本申请实施例提供的又一例窗口缩放的方法1900的示意性流程图;
图20示出了本申请实施例提供的又一例窗口缩放的流程示意图;
图21示出了本申请实施例的提供的通信装置2100的示意性框图;
图22示出了芯片系统示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请实施例中,“一个或多个”是指一个或两个以上(包含两个);“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例涉及的多个,是指大于或等于两个。需要说明的是,在本申请实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
本申请实施例提供一种电子设备,该电子设备用于执行本申请提供的窗口缩放的方法,在本申请的一些实施例中,该电子设备可以为手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等,或者可以为其他能够进行图像显示的设备或装置,对于电子设备的具体类型,本申请实施例不作任何限制。
示例性的,图1示出了电子设备100的结构示意图。电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中,也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TDSCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180G检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
例如,在本申请中,可以通过触摸传感器180K获取用户的对窗口的缩放操作。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
为了便于理解,本申请以下实施例将以具有图1所示结构的电子设备为例,结合附图和应用场景,对本申请实施例提供的窗口缩放的方法进行具体阐述。
随着科技的不断发展,电子设备上的应用越来越多,用户在电子设备的显示界面上可以同时查看多个窗口。为了在界面上查看多个窗口的内容,通常需要将不同的窗口进行缩放调整,图2示出了电子设备上包含多个窗口的场景示意图,如图2中的(a)图所示的,该电子设备的界面上包括聊天窗口、计算器窗口以及视频播放窗口。响应于用户缩小聊天窗口的操作、或者响应于用户缩小计算器窗口的操作、或者响应于用户放大视频播放窗口的操作时,用户界面(User Interface,UI)都需要不断重新布局,如图2中的(b)图所示的,每次重新布局都涉及到窗口中界面所有的元素的大小和/或位置的更新,UI界面需要对窗口进行重新绘制。当窗口中的元素较多时,非常容易产生卡顿。尤其是当电子设备处理器能力相对较弱时,卡顿的情况更是频繁发生。那么,最终会导致用户在窗口缩放过程中的体验感较差,进而影响到产品的品质和口碑。
下面对UI界面绘制的过程进行具体说明。以用户操作是触摸操作为例,示出从“用户在触摸屏输入触摸操作到触摸屏显示该触摸操作对应的窗口放大或者缩小后的图像”过程中,电子设备的软件处理流程示意图。应理解,在本申请实施例中用户的触摸操作为用户对窗口拖拽后对窗口的放大或者缩小的操作。
图3示出了电子设备的软件处理流程示意图。如图3所示的,电子设备可以包括触控面板(touch panel,TP)/TP驱动(Driver)、Input框架(即Input Framework)、UI框架(即UI Framework)、Display框架(即Display Framework)和硬件显示模块。
当用户手指(或者用户使用触控笔等触控物体)对电子设备的TP触摸后,TP驱动中的TP采集用户对电子设备的触摸操作(对窗口的放大或者缩小的操作)后,TP驱动向EventHub上报相应的触控事件。
应理解,Event Hub是一个高度可缩放、分布式、基于时间序列的事件中心,能够实时的处理流式事件并进行告警和提醒。
Input框架的Input Reader线程可以从Event Hub中读取触控事件,然后向InputDispatcher线程发送该触控事件,由Input Dispatcher线程向UI框架中的UI线程上传该触控事件。
UI框架中的UI线程绘制该触控事件对应的一个或多个图层,渲染线程对一个或多个图层进行图像渲染。
Display框架中的合成线程对绘制的一个或多个线程进行图层合成得到图像帧。
硬件显示模块的液晶显示面板((Liquid Crystal Display,LCD)驱动可接收合成的图像帧,由LCD显示合成的图像帧。LCD显示图像帧后,LCD显示的图像可被人眼感知。
基于上述软件处理流程用户手指在触摸屏输入触摸操作后,触摸屏显示该触摸操作对应的图像的大小。例如,当触摸屏上有多个窗口打开时,参考图2,触摸屏上包括微信聊天窗口、计算器窗口以及视频播放窗口。当用户在触摸屏上对微信聊天窗口缩放时,微信聊天窗口会在原窗口的基础上缩小或者放大,并将缩放后的窗口显示在显示面板上,可被人眼感知。在原窗口的基础上缩小或者放大这一过程中包括动效。动效是图像显示的结果。
图4示出了现有图像系统处理流程。如图4所示的,整个图形系统经过绘制主线程(User Interface Thread,UI Thread),UI Thread主要计算显示内容,比如视图的创建、测量、布局、图形绘制等,UI Thread可以获取当前图像包括的一个或多个图层的属性信息,该属性信息包括一个或多个图层的控件和布局生成的渲染信息,以及一个或多个图层的动效渲染信息;渲染主线程(Render Thread)可以获取当前图像的一个或多个图层的控件和布局生成的渲染信息,并将该当前图像的该信息转换成GPU可以识别的第一渲染命令,RenderThread将第一渲染命令传递到图形处理器(Graphics Processing Unit,GPU),GPU根据第一渲染命令渲染;图形合成系统SurfaceFlinger可以获取当前图像的一个或多个图层的动效渲染信息,SurfaceFlinger传递当前图像的一个或多个图层的动效渲染信息给显示子系统(Display SubSystem,DSS)模块,DSS模块根据自身能力,来决定是DSS在线合成,还是图形处理器(Graphics Processing Unit,GPU)渲染合成。SurfaceFlinger将该当前图像的一个或多个图层的动效渲染信息转换成GPU可以识别的第二渲染合成命令,SurfaceFlinger将第二渲染合成命令传递到图形处理器(Graphics Processing Unit,GPU),GPU根据第二渲染合成命令渲染合成。
因此,对于电子设备的窗口大小变化处理,一般需要先经过UI Thread对新窗口重新创建、测量、布局、图形绘制等,然后再由Render Thread将渲染命令发送至GPU进行渲染绘制合成新的窗口。由于窗口重新布局和绘制的过程耗时较长,很多时候都将超过窗口的刷新时间(刷新频率设置为60Hz的情况下,系统需在16.6ms内完成一次刷新),导致窗口显示的大小与UI设置的窗口大小不一致,从而造成卡顿的现象。
针对上述对于电子设备的窗口大小变化时产生卡顿的问题,相关技术中利用如下两种方式解决当窗口大小变化需要重绘而导致的卡顿的问题。
第一种:将UI界面固定在窗口的左上角,若用户缩放后的窗口尺寸小于UI界面,则对窗口进行裁剪,若缩放后的窗口尺寸大于UI界面进行某种填充(通常是纯色填充)。图5示出了一例相关技术中窗口缩放的界面示意图,如图5所示的,原窗口为510,当用户对UI界面进行放大后,放大后的窗口为520,从图5中可以看出,窗口520大于原窗口510,那么需要对原窗口510进行填充,使得填充后的窗口的大小和放大窗口520的大小一致。当用户对UI界面进行缩小后,缩小后的窗口为530,从图5中可以看出,窗口530小于原窗口510,那么需要对原窗口510进行裁剪,使得裁剪后的原窗口的大小和缩小窗口的大小一致。
第二种:基于用户的缩放操作,对UI界面内容等比拉伸或者缩小,使得窗口中的内容可以填满整个窗口区域。图6示出了另一例相关技术中窗口缩放的界面示意图,如图6中的(a)图所示的为原窗口示意图,原窗口包括控件1、控件2和文本框。基于用户在原窗口上的缩小窗口的操作,从如图6中的(a)图所示的界面切换至如图6中的(b)图所示的界面,从图6中的(b)图可以看出对原窗口缩小后,缩小后的窗口的控件1、控件2以及文本框里面的内容产生变形。
可见,第一种窗口缩放的方式使得系统流畅性降低,用户在拖拽窗口进行缩放时,界面内容不能及时刷新,能隐约看到窗口填充的过程,造成卡顿的感觉,影响用户操作体验感。第二种窗口缩放的方式由于用户在拖拽窗口过程中,界面内容会拉伸变形,严重影响视觉体验,用户视觉体验感降低。为了减缓界面拉伸变形导致的体验感较差,一般只能配合模糊蒙版使用,限制了使用场景。
综上所述,用户在对窗口进行缩放的过程,如何降低窗口在缩放过程中的卡顿,提高窗口缩放的流畅性,提升用户的视觉体验是目前需要关注的问题。
有鉴于此,本申请提供了一种窗口缩放的方法,该方法包括:响应于用户对第一窗口的缩放操作,电子设备绘制第一窗口对应的第一图层和第二图层,第一图层包括:第一窗口的标题栏、第一窗口的边框,第二图层包括:第一窗口的内容,当显示界面刷新时,在显示屏上显示绘制的第一窗口。本申请提供的方法,将窗口分为第一图层和第二图层进行绘制,由于第一图层的绘制可以很快完成,优先将第一图层绘制的内容显示在显示界面上,降低窗口在缩放过程中造成的卡顿,提升操作流畅性。
下面将结合附图详细说明本申请实施例提供的窗口缩放的方法。
图7示出了本申请实施例提供的窗口缩放的方法700的示意性流程图。如图7所示,图7中示出的方法700可以包括步骤S710至步骤S730。下面结合图7详细说明方法700中的各个步骤。
应理解,在本申请实施例中,以电子设备作为执行方法700的执行主体为例,对方法700进行说明。作为示例而非限定,执行方法700的执行主体也可以是应用于电子设备中的芯片。
S710、接收用户的第一操作,第一操作用于对第一窗口进行缩放,第一窗口为至少一个窗口中的任意一个;
应理解,当电子设备的显示屏上可以显示至少一个窗口,第一窗口为至少一个窗口中的任意一个窗口。
本申请实施例中的第一操作可以是用户对第一窗口的缩放操作,图8示出了本申请实施例提供的第一操作的示意图,如图8中的(a)图所示的,该第一操作可以为用户对原窗口的缩小操作,如图8中的(b)图所示的,该第一操作也可以为用户对原窗口的放大操作。
S720、在第一操作过程中,绘制第一窗口对应的第一图层和第二图层,第一图层包括第一窗口的标题栏、第一窗口的边框,第二图层包括第一窗口的内容区域。
需要说明的是,一个窗口的显示界面包括:窗口的标题栏、窗口的边框和窗口的内容区域等。窗口的标题栏、窗口的边框的布局以及绘制的内容较为固定,因此布局和绘制的耗时基本固定,而窗口的内容区域是动态添加的,因此窗口的内容区域的布局和绘制耗时较长。
窗口的标题栏一般位于窗口的左上角或者右上角。窗口的标题栏中一般包括一些标准组件和核心功能。在许多窗口中,例如,窗口的标题栏包含“最小化”、“最大化”、“关闭”、“帮助”按钮等。由于每个窗口的核心功能不同,窗口的标题栏的控件会有所差别,本申请对标题栏的具体控件不做限定。
应理解,由于窗口的标题栏的控件一般情况下都是固定的,因此绘制的速度会很快,但是窗口的内容区域是动态添加的,所以绘制起来会相对较慢。目前,在对窗口进行绘制时,是将窗口的标题栏、窗口的边框和窗口的内容区域作为一个图层一起绘制。那么,基于用户的操作,当窗口的大小发生缩放时,UI Thread对新窗口需要进行重新布局和绘制。由于窗口中的内容区域包括各种控件,因此UI框架在对新窗口重新进行布局和绘制时,需要花费大量的时间。图9示出了相关技术中电子设备的窗口重新布局的示意图,如图9所示的,窗口的标题栏、窗口的边框以及窗口的内容区域作为同一个图层进行绘制,当窗口的大小发生缩放时,由于窗口的内容区域的控件的位置或者大小都会发生变化,因此UI框架需要进行重绘,虽然窗口的标题栏以及窗口的边框的绘制任务量较小,但是窗口的标题栏、窗口的边框和窗口的内容区域作为同一图层进行绘制,且UI界面刷新时需要等待窗口的内容区域绘制完成后才能显示,那么当包含窗口的标题栏、窗口的边框和窗口的内容区域的图层未在屏幕刷新时完成绘制,则会出现卡顿现象。
因此,在本申请实施例中,响应于用户的第一操作,电子设备将第一窗口对应的第一图层和第二图层分开绘制,由于第一图层的绘制可以很快完成,优先将第一图层绘制的内容显示在显示界面上,避免造成缩放过程中出现卡顿的问题,提升操作流畅性。
图10示出了本申请实施例提供的窗口重新布局的示意图。如图10所示的,窗口的标题栏、窗口的边框在第一图层绘制,窗口的内容区域在第二图层绘制,当窗口的大小发生缩放时,第一图层绘制窗口的标题栏以及窗口的边框的速度会快于第二图层绘制窗口的区域内容,当显示界面刷新时,可以优先显示第一图层绘制完成的内容,而不受第二图层的影响,在某种程度上提高了窗口刷新的流畅性。
具体的,当电子设备检测到用户对第一窗口的缩放操作,电子设备中的UI框架在第一图层对第一窗口的标题栏、第一窗口的边框进行重新布局和绘制,然后通过渲染线程对第一图层进行渲染。同时,电子设备中的UI框架在第二图层对第一窗口的内容区域重新布局和绘制,然后通过渲染线程对第一图层进行渲染。
可选的,在一种可能的实现方式中,第一窗口对应的第一图层和第二图层可以是同时开始绘制的。在该种实现方式中,通过将第一窗口对应的第一图层和第一窗口对应的第二图层同时绘制,可以保证第一图层的绘制早于第二图层的绘制,然后当显示界面刷新时,显示屏上显示绘制的第一窗口中的第一图层可以显示在显示界面上,降低第一窗口在缩放过程中的卡顿。
应理解,由于在第一图层中仅需重新绘制标题和边框,因此该过程耗时较少,在第二图层中需要对窗口内容进行重新布局该过程耗时较长。可见,将第一窗口分为第一图层和第二图层分开进行布局和绘制,以使得系统侧的布局和绘制不受UI界面侧的布局和绘制的影响。
S730、当显示界面刷新时,在显示屏上显示绘制的第一窗口。
在本申请实施例中,当UI界面刷新时,可以将第一图层和第二图层合成后的图像显示在电子设备的显示屏上。应理解,当UI界面刷新时第一图层包括已经绘制完成的第一窗口的标题栏、第一窗口的边框,第二图层包括未绘制完成的窗口的界面内容。
在一种可能的实现方式中,基于UI界面的刷新,电子设备在Display框架中的合成线程中的图层合成系统Surfaceflinger对第一图层和第二图层进行合成,并将合成后的图像发送至硬件显示模块进行显示。
需要说明的是,第一图层和第二图层是基于用户的缩放操作下实时更新的,由于第一图层为窗口的标题栏和窗口的边框的绘制,第二图层是对窗口的内容的绘制,因此,在UI界面刷新时,第一图层耗时较短,绘制任务会很快完成,第二图层耗时较长,绘制任务可能并未结束。换句话说,UI界面刷新时,第二图层的绘制任务已经超时。但是,在本申请实施例中,当UI界面需要刷新时,即使第二图层的绘制任务未完成,UI线程仍可以将第一图层和第二图层的绘制结果发送至Surfaceflinger中进行合成。在该种情况下,相当于优先显示第一图层的绘制内容,从而保证了窗口的标题栏和窗口的边框可以基于用户的缩放操作实时更新,从而避免了窗口缩放过程中卡顿的问题,提高了缩放操作的流畅性。
示例性的,当电子设备屏幕刷新率为60Hz时,电子设备需要在16.7ms内绘制完一帧,由于第一图层仅需重新绘制标题和边框耗时较小一般会小于16.7ms,但是第二图层需要绘制窗口的内容区域,因此耗时超过16.7ms。当UI界面需要刷新时,第一图层的绘制任务已经完成,第二图层的绘制任务并没有完成。但是,电子设备需要将已经绘制完成的第一图层和未绘制完成的第二图层发送至Surfaceflinger中进行合成,然后将该合成后的图像发送至电子设备的硬件显示模块,即电子设备优先显示第一图层绘制完成的内容。
在该种实现方式中,当电子设备需要刷新屏幕时,优先显示第一图层绘制的内容,即使第二图层超时完成绘制,至少可以保证窗口的标题栏以及窗口的边框实时更新,从而可以保证UI界面与窗口的大小一致,避免造成缩放过程中出现卡顿的问题,提升操作流畅性。
图11示出了本申请实施例提供的另一例窗口缩放的方法的示意性流程图,如图11所示的,当用户对窗口拖拽后,窗口大小发生变化,电子设备需要重新布局和绘制窗口的标题栏、窗口的边框以及窗口的内容区域。在本申请实施例中,电子设备将该窗口分为高优先级区域(第一图层绘制的区域)和低优先级区域(第二图层绘制的区域),高优先级区域包括窗口的标题栏、窗口的边框,低优先级包括窗口的内容区域。在UI框架的布局和绘制过程中,将高优先级区域和低优先级区域并行。由于高优先级区域是对标题栏和边框的布局和绘制,因此耗时较小且固定。低优先级区域是对窗口的内容的布局和绘制,耗时较长。在UI界面刷新的过程中,如果低优先级在布局以及绘制超时,可以优先更新高优先级的界面保证窗口的标题栏和窗口的边框可以实时更新,从而保证UI界面与窗口的大小一致,不会造成卡顿问题,提高窗口缩放的流程性。
本申请实施例提供的方法,将窗口对应的显示区域分为高优先级区域和低优先级区域,基于用户的缩放操作,将高优先级区域和低优先级区域同步进行布局和绘制,当UI界面刷新时,优先显示高优先级区域的内容,从而可以保证UI界面与窗口的大小一致,避免造成缩放过程中出现卡顿的问题,提升操作流畅性。
在上述实施例中,通过优先显示窗口的标题栏以及窗口的边框,避免了窗口在缩放过程中需要重绘而导致的卡顿的问题,从而提升了用户体验。为了降低窗口在缩放过程中的卡顿问题,本申请实施例还提供了另一例窗口缩放的方法,该方法通过在窗口缩放过程中,对窗口中的控件大小和位置进行采样计算,从而计算出每两次刷新之间的中间状态,然后在每两次界面刷新过渡的过程中插入对应的动画效果来消除内容刷新的闪变现象,提升用户视觉体验。
需要说明的是,电子设备的显示界面可以包括至少一个窗口,并且每个窗口中可以包括至少一个控件。第一窗口为多个窗口中的任意一个。电子设备基于用户的缩放操作,对第一窗口进行重绘。除了绘制第一窗口的标题栏以及第一窗口的边框外,主要是对第一窗口的内容区域进行绘制,第一窗口的内容区域主要包括至少一个控件。因此,当电子设备在对窗口重绘的过程中主要是绘制多个控件非常耗时。
示例性的,图12示出了相关技术中一例窗口缩放的界面示意图,如图12中的(a)图所示的,假设该窗口的内容区域包括三个控件,分别为A控件、B控件和C控件。基于用户对该窗口放大的操作,从图12中的(a)图所示的界面切换至图12中的(b)图所示的界面,如图12中的(b)图所示的,A控件保持不变,B控件宽度变大,C控件向右移。最后,缩放后的窗口如图12中的(c)图所示的,最终使得A控件、B控件和C控件可以铺满该窗口。在该种场景下,相关技术中,基于用户的缩放操作,电子设备需要重绘用户缩放后的如图12中的(c)图所示的窗口中的A控件的位置、大小,B控件的位置、大小,以及C控件的位置和大小,从而导致绘制工作量巨大,当界面内容刷新频率较高的情况下,将导致界面内容与窗口的大小显示不能保持一致,使得用户在窗口缩放过程中,出现卡顿和窗口大小切换不流畅的问题。
图13示出了本申请实施例提供的一例窗口缩放的界面示意图,如图13中的(a)图所示的,当用户在该窗口上进行窗口放大操作时,基于当前窗口中每个控件的位置和大小预测下一个采样点的窗口的大小和位置。如图13中的(b)图所示的,根据用户在当前位置的采样点预测缩放后的窗口在下一次采样点的位置和大小。然后根据初始窗口中每个控件的位置和大小和下一次采样点的位置和大小,确定两次采样点的中间状态。如图13中的(c)图所示的,该中间状态可以为B控件在初始状态下大小的变化以及位置的变化,C控件在初始状态下大小的变化以及位置的变化。然后在用户缩放的过程中,根据确定出的两次采样点的中间状态绘制下一个采样点的该窗口中的每个控件的位置和大小。并将预测出的下一个采样点的该窗口的界面插入该窗口初始状态以及一个采样点中间,实现窗口的缩放过程中,窗口大小切换的流畅性,提升用户体验。
下面将结合附图详细说明本申请实施例提供的另一例窗口缩放的方法。
图14示出了本申请实施例提供的另一例窗口缩放的方法1400的示意性流程图。如图14所示,图14中示出的方法1400可以包括步骤S1410至步骤S1440。下面结合图14详细说明方法1400中的各个步骤。
应理解,在本申请实施例中,以电子设备作为执行方法1400的执行主体为例,对方法1400进行说明。作为示例而非限定,执行方法1400的执行主体也可以是应用于电子设备中的芯片。
S1410、接收用户的第一操作,第一操作用于对第一窗口进行缩放,第一窗口为至少一个窗口中的任意一个。
步骤S1410中的第一操作为用户对窗口的缩放操作,具体可参见图8中的(a)图和图8中的(b)图,在此不再赘述。
S1420、在第一操作过程中,根据第一窗口中的各个控件在第一采样点的位置和/或大小,预测第一窗口中的各个控件在第一采样点的下一个采样点的位置和/或大小。
首先,对用户在触摸屏上操作以及电子设备根据触摸屏上用户的触摸操作获取采样点的过程进行说明。
触摸屏可以包括触摸屏感应器和触摸屏控制器,触摸屏感应器用于检测用户的触摸操作,并将触摸操作对应的触摸信息发送给触摸屏控制器。当触摸屏控制器接收到该触摸信息时,将该触摸信息转换成对应的报点数据,以及根据预设报点上报率将该报点数据上报给微处理器。其中,该报点数据包括的触摸屏被触摸时的触点信息可以为触点坐标。另外,该触摸屏感应器检测的用户动作可以为触摸操作,比如,单击、双击、长按等操作,也可以为滑动操作,比如,上下滑动、左右滑动等。
需要说明的是,预设报点上报率是指触摸屏在预设报点向微处理器上报报点数据的频率,该预设报点上报率可以事先进行设置,在可以在触摸屏上报该报点数据之前进行设置,本申请实施例对此不作限定。
为了便于理解,图15示出了一种触控屏的滑动响应控制方法中报点事件在触控屏上的坐标位置示意图。如图15所示的,基于电子设备的触控屏的坐标系是以触控屏的左下角顶点为原点、X轴和Y轴的方向如图15中所示。
结合参考图1,当用户对图1所示的电子设备的触控屏进行触摸操作时,触摸传感器180K可以检测到用户作用于触控屏上的触摸操作。触摸传感器180K可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。
该触摸操作可以是用户对第一窗口的放大或者缩小的操作。处理器根据触摸操作判断触摸事件类型为第一窗口的放大或者缩小。
具体的,从用户开始触摸触控屏经过滑动直到手抬起的过程中,TP驱动层产生的报点事件依次包括:DOWN事件、若干个MOVE事件以及UP事件,其中MOVE事件的个数取决于触摸屏幕的时间。
如图15所示的,位置点1为DOWN事件在触控屏上对应的坐标位置,位置点2、位置点3和位置点4分别为DOWN事件之后MOVE事件在触控屏上对应的坐标位置。
应理解,第一采样点可以为位置点1、位置点2、位置点3或者位置点4中的任意一点。电子设备可以根据第一采样点的位置确定第一窗口在第一采样点下的各个控件的位置以及大小。
在本申请实施例中,当电子设备执行第一操作过程中,根据第一窗口中的各个控件在第一采样点的位置和/或大小,预测第一窗口中的各个控件在第一采样点的下一个采样点的位置和/或大小。
需要说明的是,第一采样点可以为电子设备以一定的采样频率获取到的任意一个采样点,即第一采样点可以为位置点1、位置点2或者位置点3上的任意一点。
应理解,在预测第一窗口中的各个控件在第一采样点的下一个采样点的位置和/或大小之前,需要先根据第一采样点确定第一采样点的下一个采样点的位置。下一个采样点可以是MOVE事件在触控屏上对应的坐标位置,也可以是UP事件在触控屏上对应的坐标位置,本申请实施例对此不做限定。
下面结合图16-图18对如何在触控屏上的根据第一报点数据预测下一个报点数据的预测方法进行具体介绍。
需要说明的是,第一报点数据是根据第一采样点生成的,下一个报点数据是根据第一采样点的下一个采样生成的。
图16示出了下一个报点数据预测方法的示意性流程图,如图16所示的,报点预测方法1600包括步骤S1610-S1650。
S1610、根据第一报点数据和已缓存的报点数据确定第一滑动速度,第一滑动速度是第一报点数据对应的采样时刻的滑动速度。
电子设备根据接收到的第一报点数据可以确定第一报点数据在触控屏上对应的触摸点位置。然后,结合已缓存的报点数据和第一报点数据可以确定第一滑动速度。
应理解,已缓存的报点数据可以包括用户从开始触摸触控屏时,TP驱动层产生的DOWN事件对应的报点数据以及MOVE事件对应的报点数据。而当TP驱动层产生UP事件时,则表示用户已完成本次滑动操作,此时清空缓存。缓存的实现方式可以是将DOWN事件和MOVE事件对应的报点数据写入队列中缓存。
在一种可能的实现方式中,根据前一个报点数据在触控屏上对应的触摸点位置与第一报点数据在触控屏上对应的触摸点位置之间的距离,以及这两个相邻报点数据(即前一个报点数据和第一报点数据)的报点周期的时间间隔,可以计算得到用户在触控屏上滑动到第一报点数据对应的采样时刻的滑动速度(即第一滑动速度)。
S1620、根据已缓存的各个报点数据对应的触摸点位置上的滑动速度以及报点周期,计算第一报点数据对应的触摸点位置上的加速度。
在步骤S1620中电子设备根据已缓存的各个报点数据在触控屏上对应的触摸点位置上的滑动速度以及报点周期,结合加速度计算公式计算第一报点数据在触控屏上对应的触摸点位置上的加速度。
S1630、根据第一报点数据对应的触摸点位置上的加速度和预测时间间隔,确定下一个报点数据的预测位置轨迹。
应理解,该预测时间间隔是指到从第一报点数据在触控屏上对应触摸点位置滑动到预测位置的时间,不同的应用场景对应的预设时间间隔不同。因此,该预测时间间隔可以事先根据具体情况进行设置,本申请实施例对此不做限定。
在一种可能的实现方式中,根据第一报点数据在触控屏上对应的触摸点位置上的加速度和预测时间间隔,可以利用如下算法确定下一个报点数据在触控屏上的预测位置轨迹:
其中,S为第一报点数据与下一个报点数据之间的距离,v0为第一报点数据的滑动速度,t为预测时间间隔,a为第一报点数据的加速度。
根据上述计算公式可以计算处第一报点数据与下一个报点数据之间的距离,预测位置轨迹是以第一报点数据为圆心,第一报点数据与下一个报点数据之间的距离为半径的一段圆弧。
在另一种可能的实现方式中,还可以通过建立深度学习模型,并对深度学习模型进行训练,以使得训练好的深度学习模型可以基于预测时间间隔来确定下一个报点数据在触控屏上的预测位置轨迹。
S1640、基于第一报点数据对应触摸点位置上的加速度确定下一个报点数据在预测位置轨迹上的预测位置。
应理解,加速度是矢量,根据第一报点数据的加速度方向可以对第一报点数据到下一个报点数据的滑动轨迹的方向进行预测,进而在预测位置轨迹上确定下一个报点数据的预测位置。
S1650、基于预测位置确定第一窗口中的各个控件在下一个报点数据上的位置和/或大小。
在步骤S1650中电子设备上的处理器可以根据预测出的下一个报点数据的位置计算出第一窗口中的各个控件在下一个报点数据上的位置和/或大小。
基于方法1600的描述,电子设备可以根据第一报点数据预测下一个报点数据的位置,然后根据下一个报点数据的位置预测在下一个报点数据上的位置和/或大小。
为了便于理解,下面结合图17对方法1600提供的下一个报点数据预测方法进行示例性说明。
图17示出了本申请实施例提供的一例根据第一报点数据在触控屏上预测下一个报点数据的示意图。
如图17所示的,位置点1为DOWN事件在触控屏上对应的坐标位置,位置点2和位置点3分别为DOWN事件之后MOVE事件在触控屏上对应的坐标位置。其中,位置点3为电子设备当前报点周期接收到的第一报点数据在触控屏上对应的坐标位置。
根据步骤S1610所述,根据已缓存的各个报点数据在触控屏上对应的触摸点位置(包括位置点1、位置点2以及位置点3)上的滑动速度和报点周期,根据加速度计算公式:
其中,a为加速度,Δv为滑动速度变化量,Δt为时间间隔,计算第一报点数据在触控屏上对应的触摸点位置(即位置点3)的加速度。
例如,位置点2的滑动速度为v2、位置点3的滑动速度为v3、位置点2和位置点3之间的时间间隔为一个报点周期T,则位置点3的加速度为:
又例如,位置点1的滑动速度为v1、位置点3的滑动速度为v3、位置点2和位置点3之间的时间间隔为一个报点周期2T,则位置点3的加速度为:
根据步骤S1620所述,根据第一报点数据在触控屏上对应的触摸点位置上的加速度和预测时间间隔,确定下一个报点数据在触控屏上的预测位置轨迹。
例如,利用如下计算公式计算第一报点数据距离下一个报点数据的距离:
其中,s为第一报点数据与下一个报点数据之间的距离,v0为第一报点数据的滑动速度,t为预测时间间隔,a为第一报点数据的加速度。
基于上述计算公式,根据预测时间间隔,位置点3的滑动速度和加速度,可以确定下一个报点数据在触控屏上的预测位置轨迹,该预测位置轨迹是以位置点3为圆心,s为半径的一段圆弧。
进一步的,由于加速度是矢量,因此可以基于位置点3上的加速度确定下一个报点数据在预测位置轨迹上的预测位置。如图17所示的,根据位置点3的加速度方向,在预测位置轨迹上确定位置点4(圆圈内有阴影的位置点4)为预测位置轨迹上的预测位置。
最后,电子设备基于预测下一个报点数据的位置确定在该位置处的第一窗口中各个控件的位置和/或大小。
S1430、根据第一窗口中的各个控件的中间状态绘制目标窗口的内容区域,中间状态包括:第一窗口中的各个控件在第一采样点至第一采样点的下一个采样点的时间段内,第n帧对应的各个控件的位置和或者大小。
在本申请实施例中,首先根据基于第一窗口在第一采样点中的各个控件的位置和/或大小预测第一窗口的在下个采样点处的各个控件的位置和/或大小确定第一窗口中各个控件在缩放场景下移动的速度。
例如,当第一控件在进行窗口放大的情况下宽度变大时,那么第一控件在宽度方向上移动的速度为下一个报点下的第一控件的宽度和当前报点下的第一控件的宽度的差值与当前报点与下一个报点的时间间隔。
又例如,当第一控件在进行窗口放大的情况下右移时,那么第一控件在右移的速度为下一个报点下的第一控件的位置和当前报点下的第一控件的位置的差值与当前报点与下一个报点的时间间隔。
需要说明的是,该第一控件为多个控件中的任意一个。第一控件在缩放场景下,不仅会发生如上所述的宽度变大、以及右移的情况,还有可能出现长度变大、左移、下移以及上移的情况,移动的速度可以参考上述举例,在此不再一一赘述。
其次,在第一窗口在当前报点下的各个控件的初始位置和/或大小和第一窗口在下一个报点下的各个控件的初始位置和/或大小确定各个控件的在缩放场景下移动的速度已知的情况下,可以根据实际需求确定界面在刷新时第一窗口在某一帧的各个控件的位置以及大小。
为了便于理解,下面结合图13对步骤S1430进行举例说明。示例性的,参考图13,假设图13中的(a)图中的B控件在放大过程中会发生宽度方向的变化,并且在第一采样点下B控件的宽度为B1.width,窗口在放大时,如图13中的(b)图所示的,B控件在下一个采样点的宽度为B2.width,并且假设第一采样点和下一个报点数据的采样点的时间间隔为T,那么B控件宽度变化的速度为ΔB.width=(B2.width-B1.width)/T。即B控件在宽度上的中间状态为Bn.width=B1.width+n×ΔB.width,其中n表示第n帧。
同理,当B控件在缩放过程中会发生高度方向的变化时,B控件在高度上的中间状态的计算方式可以参考上述B控件在宽度上的中间状态的计算方式,在此不再赘述。
继续参考图13,假设图13中的(a)图中的C控件在放大过程中会发生右移的现象,并且在第一采样点下C控件的坐标为C1。窗口在放大时,如图13中的(b)图所示的,C控件的坐标为C2,并且假设第一采样点和下一个报点数据的采样点的时间间隔为T,那么C控件右移的速度为ΔC.left=(C2.left-C1.left)/T。即C控件在的中间状态为Cn.left=C1.left+n×ΔC.left,其中n表示第n帧。
应理解,一般情况下,窗口在缩放过程中,窗口需要不断重新绘制时,主要是需要对该窗口中的各个控件的重新布局以及绘制。窗口中各个控件的布局就是在规定的窗口范围内考虑如何布置这些控件可以获取最佳的效果。例如,使得用户可以易观看、易输入以及易查阅等。
在本申请实施例中,根据确定出的两次采样点的中间状态绘制目标窗口,可以省略电子设备对窗口中的各个控件布局的步骤,并且基于上述中间状态可以快速绘制出目标图像。
为了便于理解,继续结合图13对步骤S1430进行举例说明。参考图13,如图13中的(a)图所示的,假设B控件为窗口在刷新过程中的第1帧,如图13中的(b)图所示的,B控件为窗口在刷新过程中的第4帧,那么基于上述计算公式,第4帧的B控件的宽度为:B4.width=B1.width+4×ΔB.width。然后在B控件布局不变的情况下,根据B控件的高度、宽度绘制B控件。
继续参考图13,如图13中的(a)图所示的,假设C控件为窗口在刷新过程中的第1帧,如图13中的(b)图所示的,C控件为窗口在刷新过程中的第4帧,那么基于上述计算公式,第4帧的C控件的中间状态为C4.left=C1.left+4×ΔC.left。然后在C控件布局不变的情况下,根据C控件的高度、宽度绘制C控件。
可见,基于步骤S1440绘制窗口中各个控件的大小可以减少布局的步骤,提高绘制速度,降低窗口刷新过程中的卡顿现象。
在另一种可能的实现方式中,电子设备也可以基于第一窗口中的各个控件在第一采样点的下一个采样点的位置和/或大小绘制目标窗口的内容区域;该种实现方式中也可以实现目标窗口的绘制,但是相比于采样中间状态绘制目标窗口的方式,该种方式的速度较慢。
S1440、在第一采样点和下一个采样点对应的时刻之间显示目标窗口。
在本申请实施例中,电子设备可以在第一采样点和下一个采样点对应的时刻之间显示目标窗口,以消除窗口刷新时产生的闪变现象,提升用户视觉体验。
应理解,电子设备的刷新频率一般为预设阈值,当预设阈值为60Hz时,即当屏幕的刷新频率为60帧时,第一采样点可以为60帧中的任意一帧,下一个采样点也可以为60帧中的任意一帧。然后在第一采样点和下一个采样点之间插入目标窗口进行过渡,可以避免在窗口缩放过程中产生卡顿的问题,提高了窗口缩放的流畅程度。
当然,该预设阈值还可以根据具体情况设定,本申请实施例不做限定。
例如,第一采样点为当前窗口在刷新时的第2帧,下一个采样点是当前窗口刷新时的第5帧,那么在当前窗口缩放过程的第2帧至第5帧之间可以插入目标窗口进行过渡。
又例如,第一采样点为当前窗口在刷新时的第2帧,下一个采样点是当前窗口刷新时的第50帧,那么在当前窗口缩放过程的第2帧至第50帧之间可以插入目标窗口进行过渡。
可见,目标窗口可以插入任意两帧图像中,目标窗口插入两帧较近的图像中时可以使得窗口在缩放过程中切换的更加流畅,但是计算量较大;目标窗口也可以插入两帧较远的图像中时相对来说缩放过程中切换的流畅性稍微较低,但是计算量较小。
可选的,作为一种可能的实现方式,为了降低目标窗口的计算次数,可以降低窗口的刷新频率。
图18示出了本申请实施例提供的另一例窗口缩放的流程示意图,如图18所示的,假设窗口1为第一采样点的窗口,基于用户的缩放操作,窗口管理服务确定窗口中各个控件的布局以及大小,然后UI布局框架对各个控件进行绘制,然后基于采样的报点数据预测窗口1`中的各个控件中的位置和/或大小。然后根据窗口1中的各个控件的位置和大小以及窗口1`中的各个控件中的位置和大小计算窗口中各个控件的中间状态,然后基于中间状态确定目标图像,最后在窗口1和窗口1`中插入目标图像进行过渡。以保证窗口在刷新过程中的流畅性,避免窗口卡顿的问题。
本申请提供的方法,在窗口缩放过程中,对任意两个采样点的窗口中的控件大小和位置进行计算,从而根据两个采样点的窗口中的控件位置和大小计算窗口中的控件的中间状态,然后基于中间状态绘制目标窗口,将目标窗口添加对应的动画效果进行过渡,实现窗口的缩放过程中,窗口大小切换的流畅性,提升用户体验。
上述图13-图18的实施例中通过在两帧图像之间插入目标图像进行过渡,可以保证窗口在刷新过程中的流程性,从而避免了窗口在缩放过程中出现卡顿的问题。本申请还提供了又一种窗口缩放的方法,通过在窗口缩放过程中,对窗口中的控件大小和位置进行采样计算,从而计算出每两次刷新之间的中间状态,然后在每两次界面刷新过渡的过程中插入对应的动画效果来消除内容刷新的闪变现象,提升用户视觉体验。并且将窗口对应的显示区域分为高优先级区域和低优先级区域,基于用户的缩放操作,将高优先级区域和低优先级区域同步进行布局和绘制,当UI界面刷新时,优先显示高优先级区域的内容,从而可以保证UI界面与窗口的大小一致,避免造成缩放过程中出现卡顿的问题,提升操作流畅性。
下面将结合附图详细说明本申请实施例提供的另一例窗口缩放的方法。
图19是示出本申请实施例提供的又一例窗口缩放的方法1900的示意性流程图。如图19所示,图19中示出的方法1900可以包括步骤S1910至步骤S1950。下面结合图19详细说明方法1900中的各个步骤。
应理解,在本申请实施例中,以电子设备作为执行方法1900的执行主体为例,对方法1900进行说明。作为示例而非限定,执行方法1900的执行主体也可以是应用于电子设备中的芯片。
S1910、接收用户的第一操作,第一操作用于对第一窗口进行缩放,第一窗口为至少一个窗口中的任意一个。
S1920、在第一操作过程中,根据第一窗口中的各个控件在第一采样点的位置和大小,预测第一窗口中的各个控件在第一采样点的下一个采样点的位置和/或大小。
S1930、根据第一窗口中的各个控件的中间状态绘制目标窗口的内容区域,中间状态包括:第一窗口中的各个控件在第一采样点至第一采样点的下一个采样点的时间段内,第n帧对应的各个控件的位置和或者大小。
上述步骤S1910-步骤S1930可以参考上述步骤S1410-步骤S1430,在此不再赘述。
S1940、绘制目标窗口对应的第一图层,第一图层包括第一窗口的标题栏、第一窗口的边框,目标窗口的对应的第二图层包括目标窗口的内容区域。
在本申请实施例中,基于上述步骤S1910-步骤S1930实现对目标窗口的内容区域的绘制,该目标窗口的内容区域在第一窗口对应的第二图层绘制,该第一窗口还包括第一图层,第一图层用于绘制第一窗口的标题栏、第一窗口的边框。
有关第一图层和第二图层的绘制过程可以参考上述步骤S720,在此不再赘述。
可选的,目标窗口对应的第一图层和第二图层是同时开始绘制的。
S1950、在第一采样点和下一个采样点对应的时刻之间显示目标窗口。
基于上述步骤S1910-步骤S1950可以实现目标窗口的绘制,然后将目标窗口显示在第一采样点和下一个采样点对应的时刻之间。
有关步骤S1950的描述可以参考上述步骤S1440,在此不再赘述。
示例性的,图20示出了本申请实施例提供的又一例窗口缩放的流程示意图,如图20所示的,在窗口刷新第n帧和窗口刷新第n+i帧之间插入目标图像的动画效果从而减小窗口在缩放过程中产生卡顿的现象。
需要说明的是,1≤n<屏幕刷新频率,n为整数,1<i<屏幕刷新频率,i为整数。
具体的,在窗口刷新第n帧时,电子设备需要对窗口的标题和边框和窗口的内容进行布局绘制,当窗口刷新第n帧时为采样点时,则此时窗口中各个控件的布局和大小已知,当窗口刷新第n帧不是采样点时,则可以根据缓存的采样点计算出窗口刷新第n帧时窗口中各个控件的大小,则根据计算的结果绘制窗口中各个控件的大小。然后基于绘制的窗口的标题和绘制的窗口的边框以及绘制的窗口的内容合成窗口在第n帧刷新的图像。
同样的,在窗口刷新第n+i帧时,电子设备合成第n+i帧图像的过程和第n帧图像的过程一致。
需要说明的是,在窗口刷新第n帧至窗口刷新第n+i帧图像的过程中,根据第n帧窗口中各个控件的中间状态以及第n+i帧图像中各个控件的中间状态确定目标图像,然后将目标图像以动画效果的方式插图窗口刷新的第n帧以及窗口刷新的第n+i帧之间,保证窗口在刷新过程中的流畅性,避免窗口卡顿的问题。
可选的,作为一种可能的实现方式,在方法1900中,在用户对第一窗口进行缩放的过程中,显示界面刷新时,可以基于方法700显示绘制的第一窗口。
综上所述,本申请基于方法700提供的窗口缩放的方法,将窗口对应的显示区域分为高优先级区域和低优先级区域,基于用户的缩放操作,将高优先级区域和低优先级区域同步进行布局和绘制,当UI界面刷新时,优先显示高优先级区域的内容,从而可以保证UI界面与窗口的大小一致,避免造成缩放过程中出现卡顿的问题,提升操作流畅性。
本申请基于方法1400提供的窗口缩放的方法,在窗口缩放过程中,对任意两个采样点的窗口中的控件大小和位置进行计算,从而根据两个采样点的窗口中的控件位置和/或大小计算窗口中的控件的中间状态,然后基于中间状态绘制目标窗口,将目标窗口添加对应的动画效果实现过渡。
本申请基于方法1900提供的窗口缩放的方法,通过在窗口缩放过程中,对窗口中的控件大小和位置进行采样计算,从而计算出每两次刷新之间的中间状态,然后在每两次界面刷新过渡的过程中插入对应的动画效果来消除内容刷新的闪变现象,提升用户视觉体验。并且将窗口对应的显示区域分为高优先级区域和低优先级区域,基于用户的缩放操作,将高优先级区域和低优先级区域同步进行布局和绘制,当UI界面刷新时,优先显示高优先级区域的内容,从而可以保证UI界面与窗口的大小一致,避免造成缩放过程中出现卡顿的问题,提升操作流畅性。
应理解,上述只是为了帮助本领域技术人员更好地理解本申请实施例,而非要限制本申请实施例的范围。本领域技术人员根据所给出的上述示例,显然可以进行各种等价的修改或变化,例如,上述方法中某些步骤可以不是必须的,或者可以新加入某些步骤等。或者上述任意两种或者任意多种实施例的组合。这样的修改、变化或者组合后的方案也落入本申请实施例的范围内。
还应理解,本申请实施例中的方式、情况、类别以及实施例的划分仅是为了描述的方便,不应构成特别的限定,各种方式、类别、情况以及实施例中的特征在不矛盾的情况下可以相结合。
还应理解,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
还应理解,上文对本申请实施例的描述着重于强调各个实施例之间的不同之处,未提到的相同或相似之处可以互相参考,为了简洁,这里不再赘述。
本实施例可以根据上述方法,对上述的电子设备进行功能模块的划分。例如,可以对应各个功能,划分为各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块可以采用硬件的形式实现。需要说明的是,本实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
需要说明的是,上述方法实施例涉及的各步骤的相关内容,均可以援引到对应功能模块的功能描述,此处不再赘述。
本申请实施例提供的电子设备,用于执行上述方法实施例提供任一种窗口缩放的方法,因此可以达到与上述实现方法相同的效果。在采用集成的单元的情况下,电子设备可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对电子设备的动作进行控制管理。例如,可以用于支持电子设备执行处理单元执行的步骤。存储模块可以用于支持存储程序代码和数据等。通信模块,可以用于支持电子设备与其他设备的通信。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、Wi-Fi芯片等与其他电子设备交互的设备。
示例性地,图21示出了本申请实施例的提供的通信装置2100的示意性框图,该通信装置2100可以对应上述方法700至方法1900中的各个实施例中描述的电子设备,也可以是应用于电子设备的芯片或组件中,并且,该通信装置2100中的各模块或单元分别用于执行上述方法700至方法1900中的各个实施例中描述的电子设备所执行的各动作或处理过程。
如图21所示,该通信装置2100包括收发单元2110和处理单元2120。收发单元2110用于在处理单元2120的驱动下执行具体的信号收发。
在一些实施例中:
收发单元2110:用于接收用户的第一操作,第一操作用于对第一窗口进行缩放,第一窗口为至少一个窗口中的任意一个。
处理单元2120:用于在第一操作过程中,绘制第一窗口对应的第一图层和第二图层,第一图层包括第一窗口的标题栏、第一窗口的边框,第二图层包括第一窗口的内容区域。
处理单元2120:当显示界面刷新时,在显示屏上显示绘制的第一窗口。
本申请提供的通信装置,通过将第一窗口的标题栏、第一窗口的边框在第一图层绘制,将第一窗口的内容区域在第二图层绘制,当第一窗口的大小发生缩放时,由于窗口的标题栏以及窗口的边框的绘制任务简单且固定,第一图层绘制窗口的标题栏以及窗口的边框的速度会快于第二图层绘制窗口的区域内容,当显示界面刷新时,可以优先显示第一图层绘制完成的内容,而不受第二图层的影响,在某种程度上提高了窗口刷新的流畅性。
可选的,第一窗口对应的第一图层和第二图层是同时开始绘制的。
在另一些实施例中:
收发单元2110:用于接收用户的第一操作,第一操作用于对第一窗口进行缩放,第一窗口为至少一个窗口中的任意一个。
处理单元2120:用于在第一操作过程中,根据第一窗口中的各个控件在第一采样点的位置和/或大小,预测第一窗口中的各个控件在第一采样点的下一个采样点的位置和/或大小。
处理单元2120:还用于基于第一窗口中的各个控件在第一采样点的下一个采样点的位置和/或大小绘制目标窗口的内容区域。
处理单元2120:还用于在第一采样点和下一个采样点对应的时刻之间显示目标窗口。
本申请提供的通信装置,通过在窗口缩放过程中,对第一窗口中的各个控件在第一采样点的位置和/或大小进行采样计算,从而预测出第一窗口中的各个控件在第一采样点的下一个采样点的位置和/或大小,并根据预测出来的第一窗口中的各个控件在第一采样点的下一个采样点的位置和/或大小提前绘制第一窗口在下一个采样点的图像,并且将提前绘制好的第一窗口在下一个采样点的图像显示在第一采样点和下一个采样点对应的时刻之间,从而消除第一窗口在刷新过程中的闪变现象,提升用户视觉体验。
可选的,处理单元2120:还用于根据第一窗口中的各个控件的中间状态绘制目标窗口的内容区域,中间状态包括:第一窗口中的各个控件在第一采样点至第一采样点的下一个采样点的时间段内,第n帧对应的各个控件的位置和或者大小。
可选的,处理单元2120:还用于根据第一窗口中的各个控件在第一采样点的位置和/或大小,和第一窗口中的各个控件在第一采样点的下一个采样点的位置和/或大小,确定第一窗口中的各个控件的变化速度;
可选的,处理单元2120:还用于根据第一窗口中的各个控件的变化速度和第一窗口中的各个控件在第一采样点的位置和/或大小,确定第一窗口中的各个控件在第一采样点至第一采样点的下一个采样点的时间段内,第n帧对应的各个控件的位置和或者大小,其中,1<n≤显示界面刷新速率,n为整数。
可选的,处理单元2120:还用于根据第一报点数据和已缓存的报点数据确定下一个报点数据的预测位置轨迹,第一报点数据是根据所述第一采样点生成的,下一个报点数据是根据第一采样点的下一个采样点生成的;
可选的,处理单元2120:还用于根据下一个报点数据的预测位置轨迹,确定下一个报点数据在预测位置轨迹上的预测位置;
可选的,处理单元2120:还用于基于预测位置确定第一窗口中的各个控件在第一个采样点的下一个报点数据上的位置和/或大小。
可选的,处理单元2120:还用于根据第一报点数据和已缓存的报点数据确定第一滑动速度,第一滑动速度是第一报点数据对应的采样时刻的滑动速度;
可选的,处理单元2120:还用于根据已缓存的各个报点数据对应的触摸点位置上的滑动速度,以及报点周期,计算第一报点数据对应的触摸点位置上的加速度;
可选的,处理单元2120:还用于根据第一报点数据对应的触摸点位置上的加速度,和预测时间间隔,确定下一个报点数据的预测位置轨迹。
可选的,处理单元2120:还用于基于第一报点数据对应的触摸点位置上的加速度,确定下一个报点数据在预测位置轨迹上的预测位置。
可选的,处理单元2120:还用于绘制目标窗口对应的第一图层,第一图层包括第一窗口的标题栏、第一窗口的边框,目标窗口的对应的第二图层包括目标窗口的内容区域。
进一步的,该通信装置2100还可以包括存储单元,收发单元2110可以是收发器、输入/输出接口或接口电路。存储单元用于存储收发单元2110和处理单元2120执行的指令。收发单元2110、处理单元2120和存储单元相互耦合,存储单元存储指令,处理单元2120用于执行存储单元存储的指令,收发单元2110用于在处理单元2120的驱动下执行具体的信号收发。
应理解,通信装置2100中各单元执行上述相应步骤的具体过程请参照前文中结合方法700至方法1900以及图7至图19中相关实施例的电子设备相关的描述,为了简洁,这里不加赘述。
图21所示的通信装置2100能够实现前述方法700至方法1900的各个实施例中电子设备执行的步骤。类似的描述可以参考前述对应的方法中的描述。为避免重复,这里不再赘述。
还应理解,以上装置中单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且装置中的单元可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分单元以软件通过处理元件调用的形式实现,部分单元以硬件的形式实现。例如,各个单元可以为单独设立的处理元件,也可以集成在装置的某一个芯片中实现,此外,也可以以程序的形式存储于存储器中,由装置的某一个处理元件调用并执行该单元的功能。这里该处理元件又可以称为处理器,可以是一种具有信号处理能力的集成电路。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路实现或者以软件通过处理元件调用的形式实现。在一个例子中,以上任一装置中的单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个专用集成电路(application specificintegrated circuit,ASIC),或,一个或多个数字信号处理器(digital signalprocessor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA),或这些集成电路形式中至少两种的组合。再如,当装置中的单元可以通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessing unit,CPU)或其它可以调用程序的处理器。再如,这些单元可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
本申请实施例还提供一种芯片系统,如图22所示,该芯片系统包括至少一个处理器2201和至少一个接口电路2202。处理器2201和接口电路2202可通过线路互联。例如,接口电路2202可用于从其它装置(例如上述电子设备的存储器)接收信号。又例如,接口电路2202可用于向其它装置(例如处理器2201)发送信号。示例性的,接口电路2202可读取存储器中存储的指令,并将该指令发送给处理器2201。当所述指令被处理器2201执行时,可使得电子设备执行上述实施例中的电子设备执行的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
本申请实施例还提供一种装置,该装置包含在电子设备中,该装置具有实现上述任一实施例中电子设备行为的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括至少一个与上述功能相对应的模块或单元。
本申请还提供了一种电子设备,该电子设备包括上述本申请实施例提供的装置。
本申请实施例还提供了一种计算机可读存储介质,用于存储计算机程序代码,该计算机程序包括用于执行上述本申请实施例提供的任一实施例中电子设备执行显示界面的步骤的指令。该可读介质可以是只读存储器(read-only memory,ROM)或随机存取存储器(random access memory,RAM),本申请实施例对此不做限制。
本申请还提供了一种计算机程序产品,该计算机程序产品包括指令,当该指令被执行时,使得电子设备执行上述任一实施例中电子设备执行或者显示界面的步骤。
本申请实施例还提供了一种的芯片,该芯片包括:处理单元和通信单元,该处理单元,例如可以是处理器,该通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行计算机指令,以使电子设备行执行上述本申请实施例提供的任一种窗口缩放的方法。
可选地,该计算机指令被存储在存储单元中。
可选地,该存储单元为该芯片内的存储单元,如寄存器、缓存等,该存储单元还可以是该终端内的位于该芯片外部的存储单元,如ROM或可存储静态信息和指令的其他类型的静态存储设备,随机RAM等。其中,上述任一处提到的处理器,可以是一个CPU,微处理器,ASIC,或一个或多个用于控制上述的电子设投屏显示方法的程序执行的集成电路。该处理单元和该存储单元可以解耦,分别设置在不同的物理设备上,通过有线或者无线的方式连接来实现该处理单元和该存储单元的各自的功能,以支持该系统芯片实现上述实施例中的各种功能。或者,该处理单元和该存储器也可以耦合在同一个设备上。
其中,本实施例提供的电子设备、装置、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
本申请实施例还提供一种电子设备上的图形用户界面,电子设备具有显示屏、摄像头、存储器、以及一个或多个处理器,所述一个或多个处理器用于执行存储在所述存储器中的一个或多个计算机程序,所述图形用户界面包括所述电子设备执行如上述任一实施例中电子设备执行的步骤时显示的图形用户界面。
可以理解的是,上述电子设备等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
本申请实施例可以根据上述方法示例对上述电子设备等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (15)
1.一种窗口缩放的方法,其特征在于,所述方法应用于电子设备,所述电子设备包括显示屏,所述显示屏的显示界面上显示有至少一个窗口,所述方法包括:
接收用户的第一操作,所述第一操作用于对第一窗口进行缩放,所述第一窗口为所述至少一个窗口中的任意一个;
在所述第一操作过程中,绘制所述第一窗口对应的第一图层和第二图层,所述第一图层包括所述第一窗口的标题栏、所述第一窗口的边框,所述第二图层包括所述第一窗口的内容区域;
当所述显示界面刷新时,在所述显示屏上显示绘制的所述第一窗口。
2.根据权利要求1所述的方法,其特征在于,所述第一窗口对应的所述第一图层和所述第二图层是同时开始绘制的。
3.一种窗口缩放的方法,其特征在于,所述方法应用于电子设备,所述电子设备的显示界面上包括至少一个窗口,每个窗口包括至少一个控件,所述方法包括:
接收用户的第一操作,所述第一操作用于对第一窗口进行缩放,所述第一窗口为所述至少一个窗口中的任意一个;
在所述第一操作过程中,根据所述第一窗口中的各个控件在第一采样点的位置和/或大小,预测所述第一窗口中的各个控件在第一采样点的下一个采样点的位置和/或大小;
基于所述第一窗口中的各个控件在第一采样点的下一个采样点的位置和/或大小绘制目标窗口的内容区域;
在所述第一采样点和所述下一个采样点对应的时刻之间显示所述目标窗口。
4.根据权利要求3所述的方法,其特征在于,所述基于所述第一窗口中的各个控件在第一采样点的下一个采样点的位置和/或大小绘制目标窗口的内容区域,包括:
根据所述第一窗口中的各个控件的中间状态绘制所述目标窗口的内容区域,所述中间状态包括:所述第一窗口中的各个控件在所述第一采样点至所述第一采样点的下一个采样点的时间段内,第n帧对应的各个控件的位置和/或大小。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
根据所述第一窗口中的各个控件在所述第一采样点的位置和/或大小,和所述第一窗口中的各个控件在所述第一采样点的下一个采样点的位置和/或大小,确定所述第一窗口中的各个控件的变化速度;
根据第一窗口中的各个控件的变化速度和所述第一窗口中的各个控件在所述第一采样点的位置和/或大小,确定所述第一窗口中的各个控件在所述第一采样点至所述第一采样点的下一个采样点的时间段内,第n帧对应的各个控件的位置和或者大小,其中,1<n≤显示界面刷新速率,n为整数。
6.根据权利要求5所述的方法,其特征在于,所述显示界面刷新速率小于预设阈值。
7.根据权利要求3-6中任一项所述的方法,其特征在于,所述根据所述第一窗口中的各个控件在第一采样点的位置和/或大小,预测所述第一窗口中的各个控件在第一个采样点的下一个采样点的位置和/或大小,包括:
根据第一报点数据和已缓存的报点数据确定下一个报点数据的预测位置轨迹,所述第一报点数据是根据所述第一采样点生成的,所述下一个报点数据是根据第一采样点的下一个采样点生成的;
根据所述下一个报点数据的预测位置轨迹,确定所述下一个报点数据在预测位置轨迹上的预测位置;
基于所述预测位置确定第一窗口中的各个控件在第一个采样点的下一个报点数据上的位置和/或大小。
8.根据权利要求7所述的方法,其特征在于,所述根据第一报点数据和已缓存的报点数据确定下一个报点数据的预测位置轨迹,包括:
根据所述第一报点数据和已缓存的报点数据确定第一滑动速度,所述第一滑动速度是第一报点数据对应的采样时刻的滑动速度;
根据已缓存的各个报点数据对应的触摸点位置上的滑动速度,以及报点周期,计算第一报点数据对应的触摸点位置上的加速度;
根据第一报点数据对应的触摸点位置上的加速度,和预测时间间隔,确定下一个报点数据的预测位置轨迹。
9.根据权利要求7或8所述的方法,其特征在于,所述根据所述下一个报点数据的预测位置轨迹,确定所述下一个报点数据在预测位置轨迹上的预测位置,包括:
基于第一报点数据对应的触摸点位置上的加速度,确定下一个报点数据在预测位置轨迹上的预测位置。
10.根据权利要求3-9中任一项所述的方法,其特征在于,所述方法还包括:
绘制所述目标窗口对应的第一图层,所述第一图层包括所述第一窗口的标题栏、所述第一窗口的边框,所述目标窗口的对应的第二图层包括所述目标窗口的内容区域。
11.根据权利要求10所述的方法,其特征在于,所述目标窗口对应的所述第一图层和所述第二图层是同时开始绘制的。
12.一种通信装置,其特征在于,包括用于执行如权利要求1或2所述的方法的各个步骤的单元,或者,用于执行如权利要求3-11中任一项所述方法的各个步骤的单元。
13.一种电子设备,其特征在于,所述电子设备包括至少一个处理器,所述至少一个处理器与至少一个存储器耦合:
所述至少一个处理器,用于执行所述至少一个存储器中的计算机程序或指令,以使得所述电子设备执行如权利要求1或2所述的方法,或者执行如权利要求3-11中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序或指令,当计算机读取并执行所述计算机程序或指令时,使得计算机执行如权利要求1或2所述的方法,或者执行如权利要求3-11中任一项所述的方法。
15.一种芯片,其特征在于,包括:处理器,用于执行如权利要求1或2所述的方法,或者执行如权利要求3-11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211460815.9A CN118051148A (zh) | 2022-11-17 | 2022-11-17 | 一种窗口缩放的方法、通信装置以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211460815.9A CN118051148A (zh) | 2022-11-17 | 2022-11-17 | 一种窗口缩放的方法、通信装置以及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118051148A true CN118051148A (zh) | 2024-05-17 |
Family
ID=91047220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211460815.9A Pending CN118051148A (zh) | 2022-11-17 | 2022-11-17 | 一种窗口缩放的方法、通信装置以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118051148A (zh) |
-
2022
- 2022-11-17 CN CN202211460815.9A patent/CN118051148A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112717370B (zh) | 一种控制方法和电子设备 | |
US20220337742A1 (en) | Camera switching method for terminal, and terminal | |
CN115866121B (zh) | 应用界面交互方法、电子设备和计算机可读存储介质 | |
CN111738122B (zh) | 图像处理的方法及相关装置 | |
CN113630572B (zh) | 帧率切换方法和相关装置 | |
CN113747085B (zh) | 拍摄视频的方法和装置 | |
CN113254120B (zh) | 数据处理方法和相关装置 | |
CN116055786B (zh) | 一种显示多个窗口的方法及电子设备 | |
CN113132526B (zh) | 一种页面绘制方法及相关装置 | |
CN110633043A (zh) | 一种分屏处理方法及终端设备 | |
WO2023065873A1 (zh) | 帧率调整方法、终端设备及帧率调整系统 | |
CN116069212B (zh) | 一种应用卡片的快速查看方法、电子设备及存储介质 | |
CN113805983B (zh) | 调整窗口刷新率的方法及电子设备 | |
WO2022222688A1 (zh) | 一种窗口控制方法及其设备 | |
CN113721827B (zh) | 悬浮键盘显示方法、电子设备及存储介质 | |
WO2022078116A1 (zh) | 笔刷效果图生成方法、图像编辑方法、设备和存储介质 | |
CN117769696A (zh) | 显示方法、电子设备、存储介质和程序产品 | |
CN118051148A (zh) | 一种窗口缩放的方法、通信装置以及电子设备 | |
CN114968059B (zh) | 一种控件滑动的方法及电子设备 | |
CN116069187B (zh) | 一种显示方法及电子设备 | |
CN114356196B (zh) | 一种显示方法及电子设备 | |
EP4250078A1 (en) | Window page interaction method and apparatus, electronic device, and readable storage medium | |
CN116185245B (zh) | 一种页面显示方法及电子设备 | |
CN116048831B (zh) | 一种目标信号处理方法和电子设备 | |
CN114006976B (zh) | 一种界面显示方法及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |