一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种屏幕窗口重绘方法、电子设备和计算机可读存储介质与流程

2022-02-24 10:43:58 来源:中国专利 TAG:

一种屏幕窗口重绘方法、电子设备和计算机可读存储介质
【技术领域】
1.本发明涉及移动终端技术领域,具体地涉及一种屏幕窗口重绘方法、电子设备和计算机可读存储介质。


背景技术:

2.关于多屏设备或者折叠屏设备越来越受大众用户喜爱,在用户使用设备的过程中存在指纹解锁亮屏场景或者人脸解锁亮屏场景等场景,使得亮屏后直接显示用户使用的应用窗口。然而在相关技术中,对于单屏幕场景,屏幕窗口重绘的流程通常是当触发亮屏场景时,需要将上一次灭屏的应用窗口绘制完成后,才能点亮屏幕,从而造成亮屏时间增加的问题。此外,对于多屏幕场景,屏幕窗口重绘的流程通常是当屏幕a场景灭屏时,且用户改变当前设备的屏幕形态后,在下一次触发亮屏时,需触发屏幕b场景亮屏,由于屏幕a与屏幕b存在差异,此时触发屏幕b场景亮屏,容易造成因硬件屏幕尺寸差异,对屏幕b的显示区域进行窗口重绘会导致亮屏时间成倍增加问题。


技术实现要素:

3.有鉴于此,本发明提供一种屏幕窗口重绘方法、电子设备和计算机可读存储介质,能够在灭屏状态下识别屏幕形态变化,提前完成窗口重绘,从而缩短了亮屏时间,提高了屏幕窗口重绘效率。
4.一方面,本发明实施例提供了一种屏幕窗口重绘方法,包括:
5.检测当前设备是否处于灭屏状态;
6.若检测出所述当前设备处于灭屏状态时,通过获取的灭屏前的屏幕形态信息和灭屏后的屏幕形态信息,检测所述当前设备的屏幕形态是否发生改变;
7.若检测出所述屏幕形态发生改变,根据所述灭屏后的屏幕形态信息确定出待显示屏幕;
8.根据获取的所述待显示屏幕的显示区域大小进行所述待显示屏幕的窗口重绘。
9.在一种可能的实现方式中,所述通过获取的灭屏前的屏幕形态信息和灭屏后的屏幕形态信息,检测所述当前设备的屏幕形态是否发生改变,包括:
10.检测所述灭屏前的屏幕形态信息和所述灭屏后的屏幕形态信息是否相同;
11.若检测出所述灭屏前的屏幕形态信息和所述灭屏后的屏幕形态信息不相同,确定出所述当前设备的屏幕形态发生改变。
12.在一种可能的实现方式中,所述灭屏后的屏幕形态信息包括屏幕夹角和重力垂直分量;
13.所述若检测出所述屏幕形态发生改变,根据所述灭屏后的屏幕形态信息确定出待显示屏幕,包括:
14.根据所述屏幕夹角,确定出当前设备的设备状态,所述设备状态包括折叠状态、半展开状态或者完全展开状态;
15.根据所述设备状态和所述重力垂直分量,确定出所述当前设备的屏幕朝向,并将屏幕朝向用户的显示屏幕确定为所述当前设备的待显示屏幕。
16.在一种可能的实现方式中,在所述根据获取的所述待显示屏幕的显示区域大小进行所述待显示屏幕的窗口重绘之前,包括:
17.获取所述待显示屏幕对应的屏幕标识;判断所述屏幕标识与灭屏前的显示屏幕的屏幕标识是否相同;
18.若判断出所述屏幕标识与灭屏前的显示屏幕的屏幕标识相同,将灭屏前的显示屏幕的屏幕大小确定为待显示屏幕的屏幕大小;
19.根据获取的待显示屏幕的设置模式以及所述待显示屏幕的屏幕大小,确定出所述待显示屏幕的显示区域大小,并继续执行所述根据获取的所述待显示屏幕的显示区域大小进行所述待显示屏幕的窗口重绘的步骤,所述设置模式用于指示当前设备的运行场景;
20.若判断出所述屏幕标识与灭屏前的显示屏幕的屏幕标识不相同,根据所述屏幕标识,确定出所述待显示屏幕的屏幕大小;
21.根据获取的待显示屏幕的设置模式以及所述待显示屏幕的屏幕大小,确定出所述待显示屏幕的显示区域大小,并继续执行所述根据获取的所述待显示屏幕的显示区域大小进行所述待显示屏幕的窗口重绘的步骤。
22.第二方面,本发明实施例提供了一种电子设备,设备包括:
23.显示屏;一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行以下步骤:
24.检测当前设备是否处于灭屏状态;
25.若检测出所述当前设备处于灭屏状态时,通过获取的灭屏前的屏幕形态信息和灭屏后的屏幕形态信息,检测所述当前设备的屏幕形态是否发生改变;
26.若检测出所述屏幕形态发生改变,根据所述灭屏后的屏幕形态信息确定出待显示屏幕;
27.根据获取的所述待显示屏幕的显示区域大小进行所述待显示屏幕的窗口重绘。
28.在一种可能的实现方式中,当所述指令被所述设备执行时,使得所述设备具体执行以下步骤:
29.检测所述灭屏前的屏幕形态信息和所述灭屏后的屏幕形态信息是否相同;
30.若检测出所述灭屏前的屏幕形态信息和所述灭屏后的屏幕形态信息不相同,确定出所述当前设备的屏幕形态发生改变。
31.在一种可能的实现方式中,所述灭屏后的屏幕形态信息包括屏幕夹角和重力垂直分量;
32.当所述指令被所述设备执行时,使得所述设备具体执行以下步骤:
33.根据所述屏幕夹角,确定出当前设备的设备状态,所述设备状态包括折叠状态、半展开状态或者完全展开状态;
34.根据所述设备状态和所述重力垂直分量,确定出所述当前设备的屏幕朝向,并将屏幕朝向用户的显示屏幕确定为所述当前设备的待显示屏幕。
35.在一种可能的实现方式中,当所述指令被所述设备执行时,使得所述设备具体执
行以下步骤:
36.获取所述待显示屏幕对应的屏幕标识;
37.判断所述屏幕标识与灭屏前的显示屏幕的屏幕标识是否相同;
38.若判断出所述屏幕标识与灭屏前的显示屏幕的屏幕标识相同,将灭屏前的显示屏幕的屏幕大小确定为待显示屏幕的屏幕大小;
39.根据获取的待显示屏幕的设置模式以及所述待显示屏幕的屏幕大小,确定出所述待显示屏幕的显示区域大小,并继续执行所述根据获取的所述待显示屏幕的显示区域大小进行所述待显示屏幕的窗口重绘的步骤,所述设置模式用于指示当前设备的运行场景;
40.若判断出所述屏幕标识与灭屏前的显示屏幕的屏幕标识不相同,根据所述屏幕标识,确定出所述待显示屏幕的屏幕大小;
41.根据获取的待显示屏幕的设置模式以及所述待显示屏幕的屏幕大小,确定出所述待显示屏幕的显示区域大小,并继续执行所述根据获取的所述待显示屏幕的显示区域大小进行所述待显示屏幕的窗口重绘的步骤。
42.第三方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于设备执行的程序代码,所述程序代码包括用于执行第一方面或者第一方面的任一可能的实现方式中的方法的指令。
43.本发明实施例提供的技术方案中,检测当前设备是否处于灭屏状态,若检测出当前设备处于灭屏状态时,通过获取的灭屏前的屏幕形态信息和灭屏后的屏幕形态信息,检测当前设备的屏幕形态是否发生改变,若检测出屏幕形态发生改变,根据灭屏后的屏幕形态信息确定出待显示屏幕,根据获取的待显示屏幕的显示区域大小进行待显示屏幕的窗口重绘,以实现在灭屏状态下识别屏幕形态变化,提前完成窗口重绘,从而缩短了亮屏时间,提高了屏幕窗口重绘效率。
【附图说明】
44.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
45.图1为相关技术所提供的一种屏幕窗口重绘的流程图;
46.图2是本发明一实施例所提供的一种屏幕窗口重绘方法的流程图;
47.图3是本发明一实施例所提供的一种lcd上电的流程图;
48.图4a-4c是本发明一实施例所提供的一种屏幕窗口重绘的效果示意图;
49.图5是本发明一实施例提供的一种电子设备的示意性框图;
50.图6为本发明一实施例提供的一种电子设备的结构示意图。
【具体实施方式】
51.为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
52.应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基
于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
53.在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
54.应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,甲和/或乙,可以表示:单独存在甲,同时存在甲和乙,单独存在乙这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
55.图1为相关技术所提供的一种屏幕窗口重绘的流程图,如图1所示,当终端设备由亮屏状态切换至灭屏状态后,用户可根据需求改变该终端设备的屏幕形态,例如,将终端设备的显示屏幕进行翻转或者折叠等,待下次用户触发亮屏指令时,终端设备接收到用户的亮屏指令,根据屏幕形态确定出待显示屏幕的大小,并对待显示屏幕的大小进行窗口重绘,直至将上一次灭屏的应用窗口绘制完成后,再点亮屏幕,其中,亮屏指令可包括指纹解锁指令和按键解锁指令。
56.然而在相关技术中,当用户触发亮屏时,需要将上一次灭屏的应用窗口绘制完成后,才能点亮屏幕,从而造成增加亮屏时长的问题。也就是说,在用户触发亮屏指令至点亮屏幕的过程耗时较长。此外,在相关技术的屏幕窗口重绘流程中,对于多屏幕场景也容易导致亮屏时长增加的问题。具体地,例如,以某终端设备为双面屏为例,该终端设备包括屏幕a和屏幕b两个显示屏幕,当在屏幕a场景灭屏时,用户翻转该终端设备且触发亮屏指令时,由于用户翻转该当前设备后,已改变了待显示屏幕,例如,此时待显示屏幕为屏幕b。因屏幕b与上一次的显示屏幕(屏幕a)不一致,此时用户触发亮屏,则会因硬件屏幕尺寸差异,窗口重绘会导致亮屏时间成倍增加问题。总的来说,在灭屏状态下改变终端设备的屏幕形态后要求点亮屏幕的场景,相关技术的屏幕窗口重绘,因未提前进行窗口重绘,从而造成增加亮屏时长的问题的同时,由于显示屏幕的布局差异,导致窗口重绘复杂,造成亮屏时间成倍增加,从而严重影响用户体现。
57.针对上述问题,本发明提供了一种屏幕窗口重绘方法,解决了相关技术中的因未提前进行窗口重绘,造成增加亮屏时长的问题的同时,还解决了因硬件屏幕尺寸差异时进行窗口重绘进一步导致亮屏时间成倍增加问题,缩短了亮屏时间,提高了屏幕窗口重绘效率。
58.图2为本发明一实施例提供的一种屏幕窗口重绘方法的流程图,如图2所示,该方法包括:
59.步骤102、检测当前设备是否处于灭屏状态,若是,执行步骤104,若否,则流程结束。
60.本发明实施例中,当前设备可以是终端设备,如手机终端、平板电脑、笔记本电脑、增强现实(augmented reality,简称ar)ar/虚拟现实(virtual reality,简称vr)或者车载终端等,还可以是服务器或者云端等。需要说明的是,本发明的终端均为具备改变屏幕形态功能的电子设备,例如,折叠屏手机或者翻转屏手机等。
61.本发明实施例中,当前设备可包括关机状态、灭屏状态或者亮屏状态,其中,灭屏状态用于指示当前设备处于后台工作状态。当检测到当前设备处于灭屏状态时,表明满足
改变屏幕形态的条件,可继续执行后续步骤104,以检测当前设备的屏幕形态是否发生改变,当检测到当前设备未处于灭屏状态时,表明不满足改变屏幕形态的条件,则结束流程,直至重新检测到当前设备处于灭屏状态,触发该流程。
62.步骤104、通过获取的灭屏前的屏幕形态信息和灭屏后的屏幕形态信息,检测当前设备的屏幕形态是否发生改变,若是,执行步骤106,若否,则继续执行步骤102。
63.本发明实施例中,屏幕形态信息包括屏幕夹角和重力垂直分量。屏幕夹角用于指示显示屏幕之间的夹角。重力垂直分量用于指示重力g分量在空间坐标系中的z轴的投影大小。屏幕形态用于指示当前设备的屏幕姿态和屏幕的大小比例变化,其中,屏幕姿态可包括向内折叠、向外折叠、翻转等姿态。
64.其中,关于重力垂直分量的确定方式,可包括:在初始状态下,重力g方向指向地心,即垂直向下,通过在屏幕建立空间坐标系,计算出重力g分量在z轴的投影大小,其中,重力垂直分量可包括正g和负g。
65.进一步地,本发明实施例中还可以通过获取重力垂直分量确定出当前设备的屏幕朝向。具体地,在初始状态下,重力g方向指向地心,即垂直向下。通过在屏幕建立空间坐标系,根据计算重力g分量在z轴的投影大小,确定出当前设备的屏幕朝向。其中,在屏幕建立空间坐标系的过程可包括在相对屏幕左上角的位置建立x轴和y轴和z轴,其中,z轴为垂直向上。当重力g分量,投影再z轴大小为负g时,从而能够确定出当前设备的屏幕朝向用户;当重力g分量,投影再z轴大小为g时,从而能够确定出当前设备的屏幕朝向向下。
66.需要说明的是,当确定出通过获取重力垂直分量确定出当前设备的屏幕朝向之后,还需要判断当前设备的屏幕朝向是否为面向用户的方向,以便后续步骤将屏幕朝向用户的显示屏幕确认为待显示屏幕。其中,判断当前设备的屏幕朝向是否为面向用户的方向的方式,可通过前置摄像头捕捉人脸,结合人眼角度判断当前设备的屏幕朝向是否为面向用户的方向,关于人脸识别技术和人眼角度判断的方式本发明对此不做详细阐述,可采用现有的相关技术实现上述判断过程。
67.本发明实施例中,在执行步骤104之前,该方法还包括:注册检测组件,例如,通过sensormanager工具注册hal、sensor相应事件,以设置一个能够检测屏幕夹角变化的检测组件,当检测到当前设备的屏幕形态发生改变时,例如,当当前设备进行向内折叠、向外折叠、翻转等屏幕姿态的改变,并且在用户选择指定屏幕进行亮屏时,当前终端的待显示屏幕与上次灭屏时的显示屏幕相比,待显示屏幕的大小发生了变化,因此该检测组件能够根据获取的形态信息,检测当前设备的屏幕形态发生改变。
68.本发明实施例中,作为一种可选的方案,可通过sensor算法,根据获取的形态信息检测当前设备的屏幕形态是否发生改变,具体地,可通过函数:sensormanager.registerlistener()注册检测组件,该检测组件用于检测屏幕夹角和重力垂直分量,具体地,可通过sensorhub检测组件计算屏幕夹角信息。进一步地,通过函数:onsensorchanged()实时监听当前设备的屏幕形态,当屏幕夹角变化时接受检测组件上报的屏幕夹角以及重力垂直分量,并根据上报的屏幕夹角以及重力垂直分量,判断出当前设备的屏幕形态是否发生改变。具体的判断过程可参见下述实施例中两种方案。
69.本发明实施例中,步骤104可具体包括:
70.步骤1041、检测灭屏前的屏幕形态信息和灭屏后的屏幕形态信息是否相同,若是,
执行步骤1042;若否,流程结束。
71.本发明实施例中,若检测出灭屏前的屏幕形态信息和灭屏后的屏幕形态信息相同,表明该当前设备的屏幕形态未发生改变,未满足本发明实施例的执行条件,因此流程结束或者继续执行步骤1041,检测灭屏前的屏幕形态信息和灭屏后的屏幕形态信息是否相同,若检测出灭屏前的屏幕形态信息和灭屏后的屏幕形态信息不相同,则表明该当前设备的屏幕形态已发生改变,满足窗口重绘条件,可继续执行后续步骤。
72.步骤1042、确定出当前设备的屏幕形态发生改变,并继续执行步骤106。本发明实施例中,在一种可选方案中,例如,灭屏前的屏幕形态信息包括屏幕夹角0
°
,重力垂直分量为负g,即当前设备的屏幕朝向向上,而灭屏后的屏幕形态信息包括屏幕夹角180
°
,重力垂直分量为负g,即当前设备的屏幕朝向向上,通过执行步骤104,能够确定出当前设备的屏幕形态发生改变,即屏幕夹角发生了改变。在实际应用中,相当于当前设备在灭屏前的屏幕形态为折叠状态(向内折叠、向外折叠),在当前设备在灭屏后的屏幕姿态为完全展开状态。当前设备展开后,屏幕姿态和屏幕的大小比例发生变化。例如,以当前设备包括屏幕a和屏幕b两个显示屏幕为例,将该当前设备由折叠状态变化至完全展开状态时,屏幕a和屏幕b之间的夹角可在0
°
至180
°
之间变化。此时,由于屏幕夹角发生了变化,因此可确定出当前设备的屏幕形态已发生改变,其中,屏幕形态变化可具体体现为屏幕姿态发生改变,以及屏幕的大小比例发生改变。
73.在另一种可选方案中,例如,灭屏前的屏幕形态信息包括屏幕夹角0
°
,重力垂直分量为g,即当前设备的屏幕朝向向下,而灭屏后的屏幕形态信息包括屏幕夹角180
°
,重力垂直分量为负g,即当前设备的屏幕朝向向上,通过执行步骤104,能够确定出当前设备的屏幕形态发生改变,即屏幕夹角发生了改变,且重力垂直分量也发生了变化。
74.需要说明的是,当屏幕夹角和重力垂直分量中任意一个发生了变化,即可表明当前设备的屏幕形态发生变化。本发明实施例中,对于屏幕形态信息包括屏幕夹角和重力垂直分量仅为举例说明,除此之外,屏幕形态信息还可以包括其他参数,本发明对此不做限定。
75.步骤106、根据灭屏后的屏幕形态信息确定出待显示屏幕。
76.本发明实施例中,灭屏后的屏幕形态包括屏幕夹角和重力垂直分量。
77.本发明实施例中,步骤106可具体包括:
78.步骤1061、根据屏幕夹角,确定出当前设备的设备状态,设备状态包括折叠状态、半展开状态或者完全展开状态。
79.本发明实施例中,0
°
≤屏幕夹角范围≤180
°
,其中,屏幕夹角是根据检测组件的检测的最小颗粒决定,当检测精度为2度,可认为小于3度都为折叠状态,也就是说,当0
°
≤屏幕夹角<3
°
时,确定出当前设备的设备状态包括折叠状态;当3
°
≤屏幕夹角<177
°
时,确定出当前设备的设备状态包括半展开状态;当177
°
≤屏幕夹角≤180
°
时,确定出当前设备的设备状态包括完全展开状态。
80.本发明实施例中,折叠状态可包括向外折叠状态和向内折叠状态。
81.步骤1062、根据设备状态和重力垂直分量,确定出当前设备的屏幕朝向,并将屏幕朝向用户的显示屏幕确定为当前设备的待显示屏幕。本发明实施例中,通过上述实施例能够获取重力垂直分量确定出当前设备的屏幕朝向。在一种可选方案中,例如,以当前设备包
括屏幕a和屏幕b为例,当当前设备处于完全展开状态时,例如,屏幕a和屏幕b之间的屏幕夹角为180
°
时,通过重力垂直分量确定出当前设备的屏幕a的朝向向上和屏幕b的朝向向下时,且此时幕朝向用户的显示屏幕为屏幕a,因此将屏幕a确定为当前设备的待显示屏幕。
82.在另一种可选方案中,例如,以当前设备包括屏幕a和屏幕b为例,屏幕a为内屏,屏幕b为外屏,当当前设备处于向外折叠状态时,即屏幕a和屏幕b之间的屏幕夹角为0
°
时,由于此时的设备状态为向外折叠状态,即通过重力垂直分量确定出屏幕朝向用户的显示屏幕为内屏,即屏幕a,因此将屏幕a确定为当前设备的待显示屏幕。
83.在另一种可选方案中,例如,以当前设备包括屏幕a和屏幕b为例,屏幕a为内屏,屏幕b为外屏,当当前设备处于向内折叠状态时,即屏幕a和屏幕b之间的屏幕夹角为0
°
时,由于此时的设备状态为向内折叠状态,即通过重力垂直分量确定出屏幕朝向用户的显示屏幕为外屏,即屏幕b,因此将屏幕b确定为当前设备的待显示屏幕。
84.步骤108、获取待显示屏幕对应的屏幕标识。
85.本发明实施例中,屏幕标识具有唯一性,也就是说,每个待显示屏幕对应的屏幕标识不同。例如,当当前设备处于折叠状态时,可包括多个显示屏幕,每个显示屏幕所对应的物理屏幕的id值是不一样的。例如,屏幕a对应的屏幕标识为1,屏幕b对应的屏幕标识为2。
86.步骤110、判断屏幕标识与灭屏前的显示屏幕的屏幕标识是否相同,若是,执行步骤112;若否,执行步骤114。
87.本发明实施例中,若判断出屏幕标识与灭屏前的显示屏幕的屏幕标识相同,表明待显示屏幕与灭屏前的显示屏幕相同。若判断出屏幕标识与灭屏前的显示屏幕的屏幕标识不相同,则表明待显示屏幕与灭屏前的显示屏幕不相同。例如,灭屏前的显示屏幕包括屏幕a和屏幕b,其中,屏幕a对应的屏幕标识为1,屏幕b对应的屏幕标识为2,而获取的待显示屏幕的屏幕标识为2时,表明待显示屏幕的屏幕标识与灭屏前的显示屏幕的屏幕标识不相同。
88.步骤112、将灭屏前的显示屏幕的屏幕大小确定为待显示屏幕的屏幕大小,并继续执行116。
89.本发明实施例中,若判断出屏幕标识与灭屏前的显示屏幕的屏幕标识相同,表明待显示屏幕与灭屏前的显示屏幕相同,因此将灭屏前的显示屏幕的屏幕大小确定为待显示屏幕的屏幕大小。通过确定待显示屏幕的屏幕大小,以便后续步骤确定待显示屏幕的显示区域大小。
90.需要说明的是,屏幕大小用于指示显示屏幕本身的大小。显示区域大小用于指示根据用户设置或者设备条件限定的大小。也就是说,待显示屏幕的屏幕大小≥待显示屏幕的显示区域大小。例如,以手机的显示屏幕为例,通常手机的屏幕大小大于显示区域的大小。
91.步骤114、根据屏幕标识,确定出待显示屏幕的屏幕大小,并继续执行116
92.本发明实施例中,每个显示屏幕对应的屏幕标识不同,因此可通过屏幕标识,查询出每个待显示屏幕的屏幕大小。
93.步骤116、根据获取的待显示屏幕的设置模式以及待显示屏幕的屏幕大小,确定出待显示屏幕的显示区域大小,并继续执行步骤118。
94.本发明实施例中,待显示屏幕的屏幕大小可理解为物理屏幕大小,待显示屏幕的显示区域大小可理解为具体的显示区域大小,并且显示区域大小位于物理屏幕大小范围
内。
95.本发明实施例中,设置模式用于指示当前设备的运行场景。待显示屏幕的设置模式可包括单手模式、自拍协同模式、互动模式或者游戏模式等。在一种可选方式中,例如,当获取的待显示屏幕的设置模式包括单手模式时,将待显示屏幕的显示区域大小确定为待显示屏幕的屏幕大小的2/3。
96.需要说明的是,上述的设置方式仅为举例说明,针对不同的设置模式,使用者可根据需求进行待显示屏幕的显示区域大小的设定。
97.步骤118、根据获取的待显示屏幕的显示区域大小进行待显示屏幕的窗口重绘。
98.本发明实施例中,一种可选的方案,可通过设置函数:keyguarddraw/windowdraw,该函数能够根据待显示屏幕的显示区域大小进行待显示屏幕的窗口重绘,并在待显示区域上显示重绘的内容。
99.此外,在执行步骤118之前,还包括:通过调动setpowermodeon(true)启动液晶显示器(liquid crystal display,简称lcd)上电流程,并对待显示屏幕进行锁屏,并继续执行步骤118。
100.本发明实施例中,图3为lcd上电流程示意图,如图3所示,启动的lcd上电流程包括步骤301-步骤303:设置lcd—》lcd开始上电—》lcd上电完成。需要说明的是,该lcd上电流程,与步骤118的窗口重绘流程是由两条分支分别处理,即多线程并行处理。通过将lcd上电流程与步骤118的窗口重绘流程并行处理能够提高重绘处理效率并节省了窗口重绘时间。
101.在执行步骤118之后,还包括:通过调动setpowermodeon(false)启动lcd下电流程。
102.此外,在执行步骤110之后,还需要设置函数:screenoff,该函数用于在窗口重绘完成后,不设置背光,直接调用掉电流程,等待下一次亮屏。也就是说,在执行步骤110之后,对待显示屏幕不设置背光,使得用户可见的待显示屏幕全黑,以便等待下一次亮屏时,能够在待显示区域上显示重绘的内容,从而解决了相关技术中的因未提前重绘,从而造成增加亮屏时长的问题,解决了因硬件屏幕尺寸差异时进行窗口重绘进一步导致亮屏时间成倍增加问题,从而缩短了亮屏时间,提高了屏幕窗口重绘效率,极大的改善当前的折叠屏,翻转屏设备的用户体验。
103.本发明实施例中,在步骤118之后,还包括:在待显示屏幕上显示重绘的内容。例如,在不同大小的显示屏幕显示同一个图片。
104.本发明实施例中,通过执行上述的屏幕窗口重绘方法,如图4a-图4c所示,在图4a中,屏幕处于灭屏状态,图4b的过程为执行本发明实施例所提供的屏幕窗口重绘方法的过程,需要说明的是,在执行屏幕窗口重绘方法的过程中,需要设置lcd不设置背光亮度,等待窗口重绘完成后,如图4c所示,显示屏幕处于灭屏状态,以等待下次亮屏后,直接显示重绘好的内容,从而相对于图1所示的相关技术的屏幕窗口重绘而言,本发明实施例的屏幕窗口重绘方法,能够实现在灭屏状态下识别屏幕形态变化,提前完成窗口重绘,解决了相关技术中的因未提前进行窗口重绘,造成增加亮屏时长的问题的同时,还解决了因硬件屏幕尺寸差异时进行窗口重绘进一步导致亮屏时间成倍增加问题,缩短了亮屏时间,提高了屏幕窗口重绘效率。
105.本发明实施例中,检测当前设备是否处于灭屏状态,若检测出当前设备处于灭屏
状态时,通过获取的灭屏前的屏幕形态信息和灭屏后的屏幕形态信息,检测当前设备的屏幕形态是否发生改变,若检测出屏幕形态发生改变,根据灭屏后的屏幕形态信息确定出待显示屏幕,根据获取的待显示屏幕的显示区域大小进行待显示屏幕的窗口重绘,以实现在灭屏状态下识别屏幕形态变化,提前完成窗口重绘,从而缩短了亮屏时间,提高了屏幕窗口重绘效率。
106.本发明实施例中,进一步地,可通过下列流程对本发明的屏幕窗口重绘流程,进行验证:
107.第一步:通过在当前设备中安装可验证的应用程序,并将该应用程序运行在最上层可见界面,通过灭屏指令对当前设备进行灭屏操作。
108.第二步:用户通过改变当前设备的屏幕形态,记录时间,等待一段时间,再记录时间,指纹亮屏,抓取日志。
109.本步骤中,通过日志记录屏幕变化,以检测是否有触发重绘,通过等待一段时间,目的是为了时间分开排查干扰。
110.第三步:根据日志确认验证应用的生命周期状态与时间,判断是否触发灭屏下重绘窗口。
111.本步骤中,通过日志验证,查看应用的生命周期是否有变化,且变化的时间与屏幕折叠状态变化时间是否匹配一致,以判断是否触发灭屏下重绘窗口,其中,应用的生命周期表示应用界面(activity)整个显示过程,即通过应用的显示过程来判断,应用是否发生了重绘。
112.图5是本发明一实施例提供的一种电子设备110的示意性框图。应理解,电子设备110能够执行图2的屏幕窗口重绘方法中的各个步骤,为了避免重复,此处不再详述。如图5所示,电子设备110包括:检测单元401和处理单元402。
113.检测模块401用于检测当前设备是否处于灭屏状态;若检测出所述当前设备处于灭屏状态时,通过获取的灭屏前的屏幕形态信息和灭屏后的屏幕形态信息,检测所述当前设备的屏幕形态是否发生改变。
114.处理单元402用于若检测出所述屏幕形态发生改变,根据所述灭屏后的屏幕形态信息确定出待显示屏幕;根据获取的所述待显示屏幕的显示区域大小进行所述待显示屏幕的窗口重绘。
115.本发明实施例中,检测模块401还用于检测所述灭屏前的屏幕形态信息和所述灭屏后的屏幕形态信息是否相同;若检测出所述灭屏前的屏幕形态信息和所述灭屏后的屏幕形态信息不相同,确定出所述当前设备的屏幕形态发生改变。
116.本发明实施例中,所述灭屏后的屏幕形态信息包括屏幕夹角和重力垂直分量;处理单元402还用于根据所述屏幕夹角,确定出当前设备的设备状态,所述设备状态包括折叠状态、半展开状态或者完全展开状态;根据所述设备状态和所述重力垂直分量,确定出所述当前设备的屏幕朝向,并将屏幕朝向用户的显示屏幕确定为所述当前设备的待显示屏幕。
117.本发明实施例中,处理大院402还用于获取所述待显示屏幕对应的屏幕标识;判断所述屏幕标识与灭屏前的显示屏幕的屏幕标识是否相同;若判断出所述屏幕标识与灭屏前的显示屏幕的屏幕标识相同,将灭屏前的显示屏幕的屏幕大小确定为待显示屏幕的屏幕大小;根据获取的待显示屏幕的设置模式以及所述待显示屏幕的屏幕大小,确定出所述待显
示屏幕的显示区域大小,并继续执行所述根据获取的所述待显示屏幕的显示区域大小进行所述待显示屏幕的窗口重绘的步骤,所述设置模式用于指示当前设备的运行场景;若判断出所述屏幕标识与灭屏前的显示屏幕的屏幕标识不相同,根据所述屏幕标识,确定出所述待显示屏幕的屏幕大小;根据获取的待显示屏幕的设置模式以及所述待显示屏幕的屏幕大小,确定出所述待显示屏幕的显示区域大小,并继续执行所述根据获取的所述待显示屏幕的显示区域大小进行所述待显示屏幕的窗口重绘的步骤。
118.本发明实施例中,检测当前设备是否处于灭屏状态,若检测出当前设备处于灭屏状态时,通过获取的灭屏前的屏幕形态信息和灭屏后的屏幕形态信息,检测当前设备的屏幕形态是否发生改变,若检测出屏幕形态发生改变,根据灭屏后的屏幕形态信息确定出待显示屏幕,根据获取的待显示屏幕的显示区域大小进行待显示屏幕的窗口重绘,以实现在灭屏状态下识别屏幕形态变化,提前完成窗口重绘,从而缩短了亮屏时间,提高了屏幕窗口重绘效率。
119.应理解,这里的电子设备110以功能单元的形式体现。这里的术语“单元”可以通过软件和/或硬件形式实现,对此不作具体限定。例如,“单元”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(application specific integrated circuit,asic)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
120.因此,在本发明的实施例中描述的各示例的单元,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
121.本发明实施例还提供一种电子设备,该电子设备可以是当前设备也可以是内置于所述当前设备的电路设备。该设备可以用于执行上述方法实施例中的功能/步骤。
122.图6为本发明一实施例提供的一种电子设备的结构示意图,如图6所示,电子设备900包括处理器910和收发器920。可选地,该电子设备900还可以包括存储器930。其中,处理器910、收发器920和存储器930之间可以通过内部连接通路互相通信,传递控制和/或数据信号,该存储器930用于存储计算机程序,该处理器910用于从该存储器930中调用并运行该计算机程序。
123.可选地,电子设备900还可以包括天线940,用于将收发器920输出的无线信号发送出去。
124.上述处理器910可以和存储器930可以合成一个处理装置,更常见的是彼此独立的部件,处理器910用于执行存储器930中存储的程序代码来实现上述功能。具体实现时,该存储器930也可以集成在处理器910中,或者,独立于处理器910。该处理器910可以与图5中电子设备110中的处理单元402对应。
125.除此之外,为了使得电子设备900的功能更加完善,该电子设备900还可以包括输入单元960、显示单元970、音频电路980、摄像头990和传感器901等中的一个或多个,所述音频电路还可以包括扬声器982、麦克风984等。其中,显示单元970可以包括显示屏。
126.可选地,上述电子设备900还可以包括电源950,用于给当前设备中的各种器件或
电路提供电源。
127.应理解,图6所示的电子设备900能够实现图2所示方法实施例的各个过程。电子设备900中的各个单元的操作和/或功能,分别为了实现上述方法实施例中的相应流程。具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。
128.应理解,图6所示的电子设备900中的处理器910可以是片上系统(system on a chip,soc),该处理器910中可以包括中央处理器(central processing unit,cpu),还可以进一步包括其他类型的处理器,所述cpu可以叫主cpu,神经网络处理器npu 30作为协处理器挂载到主cpu(host cpu)上,由host cpu分配任务。各部分处理器配合工作实现之前的方法流程,并且每部分处理器可以选择性执行一部分软件驱动程序。
129.总之,处理器910内部的各部分处理器或处理单元可以共同配合实现之前的方法流程,且各部分处理器或处理单元相应的软件程序可存储在存储器930中。
130.本发明还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得计算机执行如上述图2所示的屏幕窗口重绘方法中的各个步骤。
131.以上各实施例中,涉及的处理器910可以例如包括中央处理器(central processing unit,cpu)、微处理器、微控制器或数字信号处理器,还可包括gpu、npu和isp,该处理器还可包括必要的硬件加速器或逻辑处理硬件电路,如特定应用集成电路(application-specific integrated circuit,asic),或一个或多个用于控制本发明技术方案程序执行的集成电路等。此外,处理器可以具有操作一个或多个软件程序的功能,软件程序可以存储在存储器中。
132.存储器可以是只读存储器(read-only memory,rom)、可存储静态信息和指令的其它类型的静态存储设备、随机存取存储器(random access memory,ram)或可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质等。
133.本发明实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示单独存在a、同时存在a和b、单独存在b的情况。其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
134.本领域普通技术人员可以意识到,本文中公开的实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
135.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
136.在本发明所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
137.以上所述,仅为本发明的具体实施方式,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献