CN115904297A - 屏幕显示检测方法、电子设备及存储介质 - Google Patents
屏幕显示检测方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115904297A CN115904297A CN202110956799.1A CN202110956799A CN115904297A CN 115904297 A CN115904297 A CN 115904297A CN 202110956799 A CN202110956799 A CN 202110956799A CN 115904297 A CN115904297 A CN 115904297A
- Authority
- CN
- China
- Prior art keywords
- display screen
- screen
- brightness
- display
- event
- 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
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
Abstract
本申请提供一种屏幕显示检测方法、电子设备及存储介质,所述方法包括:通过内核层获取控制显示屏亮屏或灭屏的电源事件,并将电源事件传递至框架层;通过框架层获取电源事件,判断电源事件的传递是否在内核层阻塞;若确定电源事件的传递未在内核层阻塞,判断电源事件是否在框架层阻塞;若确定电源事件未在框架层阻塞,通过内核层控制显示屏亮屏或灭屏。本申请可以通过检测亮灭屏事件是否在各个节点阻塞以确定在亮灭屏事件处理过程中产生异常的节点,从而及时确定屏幕无法正常亮屏或灭屏的原因,有助于电子设备及时对亮灭屏异常进行修正,提升了用户体验。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种屏幕显示检测方法、电子设备及存储介质。
背景技术
智能电子设备如智能手机、平板电脑、穿戴式设备等已广泛应用于人们的日常生活。用户在使用电子设备的过程中,经常需要通过按电源键或点击屏幕等方式控制屏幕点亮或熄灭,然而,电子设备有时会由于各种原因而无法正常点亮或熄灭屏幕,屏幕无法正常点亮或熄灭的原因往往无法及时确定,例如,无法及时确定亮屏或灭屏的处理在哪个节点阻塞,从而影响用户对电子设备的正常使用,并且用户容易因此而质疑设备故障,导致用户舆情。
发明内容
鉴于以上内容,有必要提供一种屏幕显示检测方法、电子设备及存储介质以解决屏幕无法正常点亮或熄灭的原因无法及时确定的问题。
第一方面,本申请提供一种屏幕显示检测方法,所述方法包括:通过内核层获取控制显示屏亮屏或灭屏的电源事件,并将所述电源事件传递至框架层;通过所述框架层获取所述电源事件,判断所述电源事件的传递是否在所述内核层阻塞;若确定所述电源事件的传递未在所述内核层阻塞,判断所述电源事件是否在所述框架层阻塞;若确定所述电源事件未在所述框架层阻塞,通过所述内核层控制所述显示屏亮屏或灭屏。通过上述技术方案可以确定电子设备对亮屏或灭屏事件处理的过程中是否在各个节点产生阻塞,从而及时确定屏幕无法正常亮屏或灭屏的原因。
在一种可能的实现方式中,通过内核层获取控制显示屏亮屏或灭屏的电源事件包括:检测用户是否执行亮屏或灭屏操作,若检测到用户执行所述亮屏或灭屏操作,获取所述电源事件。通过上述技术方案可以精确响应用户操作。
在一种可能的实现方式中,将所述电源事件传递至框架包括:在获取所述电源事件后,所述内核层接入第一超时检测节点,控制所述第一超时检测节点基于第一超时时间进行倒计时,并将所述电源事件传递至所述框架层。通过上述技术方案可以基于倒计时监控电源事件的传递。
在一种可能的实现方式中,判断所述电源事件的传递是否在所述内核层阻塞包括:在所述框架层获取电源事件前,判断基于所述第一超时时间的倒计时是否结束;若确定基于所述第一超时时间的倒计时在框架层获取电源事件前结束,确定所述电源事件的传递在内核层阻塞;或若基于所述第一超时时间的倒计时未在所述框架层获取所述电源事件前结束,确定所述电源事件的传递未在所述内核层阻塞。通过上述技术方案可以基于倒计时是否结束精确地确定电源事件的传递是否阻塞。
在一种可能的实现方式中,通过所述框架层获取所述电源事件包括:所述框架层通过开源事件分析平台获取所述内核层传递的所述电源事件,并通过输入事件处理机制对所述电源事件进行分发。通过上述技术方案可以及时响应电源事件。
在一种可能的实现方式中,判断所述电源事件是否在所述框架层阻塞包括:在所述框架层获取所述电源事件后,所述框架层接入第二超时检测节点,并控制所述第二超时检测节点基于第二超时时间进行倒计时;获取所述显示屏的状态,并根据所述显示屏的状态决策所述显示屏是否需要执行亮屏或灭屏;若决策所述显示屏需要执行亮屏,发送亮屏指令至所述内核层;或若决策所述显示屏需要执行灭屏,发送灭屏指令至所述内核层;基于所述第二超时时间的倒计时确定所述电源事件是否在所述框架层阻塞。通过上述技术方案可以基于倒计时是否结束精确地确定电源事件是否在框架层阻塞。
在一种可能的实现方式中,判断所述电源事件是否在所述框架层阻塞还包括:在所述第二超时检测节点基于所述第二超时时间进行倒计时的过程中,每隔预设时间发送心跳包至所述第一超时检测节点,以实时侦测所述第二超时检测节点是否正常工作。通过上述技术方案可以避免因第二超时检测节点故障导致的分析错误。
在一种可能的实现方式中,所述显示屏的状态包括电源状态,所述电源状态包括开启、关闭及部分开启。通过上述技术方案可以基于不同的电源状态确定显示屏需要亮屏还是灭屏。
在一种可能的实现方式中,根据所述显示屏的状态决策所述显示屏是否需要执行亮屏或灭屏包括:根据所述显示屏的电源状态决策所述显示屏是否需要执行亮屏或灭屏;若所述显示屏的电源状态为关闭或部分开启,确定所述电源事件对应的用户操作为亮屏操作,决策所述显示屏需要执行亮屏;或若所述显示屏的电源状态为开启,确定所述电源事件对应的用户操作为灭屏操作,决策所述显示屏需要执行灭屏。通过上述技术方案可以精确地确定显示屏需要亮屏还是灭屏。
在一种可能的实现方式中,所述显示屏的状态还包括显示屏驱动亮度,根据所述显示屏的状态决策所述显示屏是否需要执行亮屏或灭屏包括:根据所述显示屏的电源状态和显示屏驱动亮度决策显示屏是否需要执行亮屏或灭屏;若所述显示屏的电源状态为开启且所述显示屏驱动亮度小于第一阈值,确定所述电源事件对应的用户操作为亮屏操作,决策所述显示屏需要执行亮屏;或若所述显示屏的电源状态为开启且所述显示屏驱动亮度大于或等于第一阈值,确定所述电源事件对应的用户操作为灭屏操作,决策所述显示屏需要执行灭屏;或若所述显示屏的电源状态为关闭或部分开启,确定所述电源事件对应的用户操作为亮屏操作,决策所述显示屏需要执行亮屏。通过上述技术方案可以结合显示屏实际亮度精确地确定显示屏需要亮屏还是灭屏。
在一种可能的实现方式中,根据所述显示屏的状态决策所述显示屏是否需要执行亮屏或灭屏包括:根据所述显示屏的电源状态、显示屏驱动亮度和所述显示屏当前正在执行的动作,决策所述显示屏是否需要执行亮屏或灭屏;若所述显示屏的电源状态为开启且所述显示屏驱动亮度小于第一阈值,确定所述电源事件对应的用户操作为亮屏操作,若所述显示屏当前正在执行亮屏,决策所述显示屏无需执行亮屏或灭屏,若所述显示屏当前正在执行灭屏,决策所述显示屏需要执行亮屏,若所述显示屏当前未执行动作,决策显示屏需要执行亮屏;或若所述显示屏的电源状态为开启且所述显示屏驱动亮度大于或等于第一阈值,确定所述电源事件对应的用户操作为灭屏操作,若显示屏当前正在执行灭屏,决策所述显示屏无需执行亮屏或灭屏,若显示屏当前正在执行亮屏,决策所述显示屏需要执行灭屏,若所述显示屏当前未执行动作,决策所述显示屏需要执行灭屏;或若所述显示屏的电源状态为关闭或部分开启,确定所述电源事件对应的用户操作为亮屏操作,若所述显示屏当前正在执行亮屏,决策显示屏无需执行亮屏或灭屏,若所述显示屏当前正在执行灭屏,决策所述显示屏需要执行亮屏,若所述显示屏当前未执行动作,决策所述显示屏需要执行亮屏。通过上述技术方案可以结合显示屏正在执行的亮屏或灭屏动作精确地确定显示屏需要亮屏还是灭屏。
在一种可能的实现方式中,根据所述显示屏的状态决策所述显示屏是否需要执行亮屏或灭屏还包括:若确定所述电源事件对应的用户操作为亮屏操作,且所述显示屏当前正在执行灭屏,决策所述显示屏需要执行亮屏,并取消灭屏的超时监控和增加亮屏的超时监控;或若确定所述电源事件对应的用户操作为灭屏操作,且所述显示屏当前正在执行亮屏,决策所述显示屏需要执行灭屏,并取消亮屏的超时监控和增加灭屏的超时监控。通过上述技术方案可以在显示屏切换亮屏或灭屏操作时改变超时监控方式。
在一种可能的实现方式中,基于所述第二超时时间的倒计时确定所述电源事件是否在所述框架层阻塞包括;在发送所述亮屏指令或所述灭屏指令至所述内核层时,判断所述第二超时时间的倒计时是否结束;若所述第二超时时间的倒计时未结束,确定所述电源事件未在所述框架层阻塞;或若所述第二超时时间的倒计时结束,确定所述电源事件在所述框架层阻塞。通过上述技术方案可以基于倒计时准确地分析电源事件在框架层阻塞。
在一种可能的实现方式中,判断所述电源事件是否在所述框架层阻塞还包括:若决策所述显示屏需要执行亮屏,获取所述框架层待设置的显示屏亮度,判断所述待设置的显示屏亮度是否有效;若确定所述待设置的显示屏亮度无效,重新确定待设置的显示屏亮度,直至所述待设置的显示屏亮度有效;或若确定所述待设置的显示屏亮度有效,判断所述显示屏是否完成窗口绘制;若确定所述显示屏完成窗口绘制,调用驱动接口设置所述待设置的显示屏亮度,并将设置的显示屏亮度传送至所述内核层。通过上述技术方案可以通过确定显示屏亮度是否正常来确定是否正常亮屏。
在一种可能的实现方式中,判断所述待设置的显示屏亮度是否有效包括:判断所述待设置的显示屏亮度与显示屏最大亮度的百分比是否大于或等于第二阈值;若所述待设置的显示屏亮度与所述显示屏最大亮度的百分比大于或等于所述第二阈值,确定所述待设置的显示屏亮度有效;或若所述待设置的显示屏亮度与所述显示屏最大亮度的百分比小于所述第二阈值,确定所述待设置的显示屏亮度无效。通过上述技术方案可以精确地确定显示屏亮度是否正常。
在一种可能的实现方式中,所述方法还包括:所述内核层接收设置的所述显示屏亮度,调用显示屏驱动接口设置所述显示屏亮度,并在所述显示屏亮屏时判断所述显示屏的实际显示亮度是否与设置的所述显示屏亮度相符;若确定所述显示屏的实际显示亮度与设置的所述显示屏亮度不符,通过所述显示屏驱动接口根据设置的所述显示屏亮度重新驱动所述显示屏亮屏,直至所述显示屏的实际显示亮度与设置的所述显示屏亮度相符;判断显示屏亮度设置是否在所述内核层阻塞。通过上述技术方案可以在显示屏亮度异常时进行重新设置。
在一种可能的实现方式中,所述方法还包括:所述内核层接收该显示屏亮度后,接入所述第一超时检测节点,并控制所述第一超时检测节点基于第三超时时间进行倒计时;判断显示屏亮度设置是否在所述内核层阻塞包括:在确定所述显示屏的实际显示亮度与设置的所述显示屏亮度相符时,判断所述第三超时时间的倒计时是否结束;若确定所述第三超时时间的倒计时结束,确定所述显示屏亮度设置在所述内核层阻塞;或若确定所述第三超时时间的倒计时未结束,确定所述显示屏亮度设置未在所述内核层阻塞。通过上述技术方案可以基于倒计时精确地分析显示屏亮度设置是否在内核层阻塞。
在一种可能的实现方式中,所述方法还包括:若确定所述电源事件的传递在所述内核层阻塞、或确定所述电源事件在所述框架层阻塞、或确定所述显示屏亮度设置在所述内核层阻塞,确定所述显示屏亮屏或灭屏异常。通过上述技术方案可以基于电源事件阻塞的进程确定显示屏亮屏或灭屏异常。
在一种可能的实现方式中,所述方法还包括:获取异常事件以生成日志,并将所述日志上传至服务器。通过上述技术方案可以在显示屏亮屏或灭屏异常时及时上传日志,便于用户分析。
在一种可能的实现方式中,获取异常事件以生成日志包括:在亮度检测异常或亮灭屏事件处理阻塞时,根据预设规则获取所述异常事件以生成所述日志。通过上述技术方案可以在亮灭屏事件处理的异常进程中生成日志。
在一种可能的实现方式中,根据预设规则获取所述异常事件包括:根据预设的隐私规则获取所述异常事件的维测信息,并向异常节点或路径写入所述异常事件和对应的异常信息,其中,所述维测信息包括调用栈信息和附加信息,所述预设的隐私规则包括:获取的所述调用栈信息和附加信息中不包含用户的隐私信息。通过上述技术方案以便于对异常事件进行分析,还可以保障用户的隐私安全。
第二方面,本申请提供一种电子设备,所述电子设备包括存储器和处理器:
其中,所述存储器,用于存储程序指令;
所述处理器,用于读取并执行所述存储器中存储的所述程序指令,当所述程序指令被所述处理器执行时,使得所述电子设备执行以上的屏幕显示检测方法。
第三方面,本申请提供一种计算机存储介质,所述计算机存储介质存储有程序指令,当所述程序指令在电子设备上运行时,使得所述电子设备执行以上的屏幕显示检测方法。
另外,第二方面至第三方面所带来的技术效果可参见上述方法部分各设计的方法相关的描述,此处不再赘述。
本申请的屏幕显示检测方法、电子设备及存储介质可以通过检测亮灭屏事件是否在各个节点阻塞以确定在亮灭屏事件处理过程中产生异常的节点,从而及时确定屏幕无法正常亮屏或灭屏的原因,有助于电子设备及时对亮灭屏异常进行修正,提升了用户体验,避免用户舆情。
附图说明
图1是电子设备处于灭屏状态的示意图。
图2是电子设备处于亮屏状态的示意图。
图3是本申请一实施例提供的电子设备的硬件架构图。
图4是本申请一实施例提供的电子设备的软件架构图。
图5是本申请一实施例提供的屏幕显示检测方法的流程图。
图6是本申请一实施例提供的判断电源事件是否在框架层阻塞的流程图。
图7是本申请另一实施例提供的屏幕显示检测方法的流程图。
图8是本申请另一实施例提供的判断电源事件是否在框架层阻塞的流程图。
图9是本申请一实施例提供的屏幕显示检测方法的亮屏应用场景示意图。
图10A-10B是本申请另一实施例提供的屏幕显示检测方法的流程图。
图11是本申请一实施例提供的屏幕显示检测方法的灭屏应用场景示意图。
图12是本申请另一实施例提供的屏幕显示检测方法的流程图。
图13是本申请一实施例提供的电子设备的通信架构示意图。
图14是本申请一实施例提供的屏幕显示检测方法的流程监控逻辑示意图。
具体实施方式
为了便于理解,示例性的给出了部分与本申请实施例相关概念的说明以供参阅。
需要说明的是,本申请实施例中所涉及的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请中的技术领域的技术人员通常理解的含义相同。本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。应理解,本申请中除非另有说明,“/”表示或的意思。例如,A/B可以表示A或B。本申请中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B三种情况。“至少一个”是指一个或者多个。“多个”是指两个或多于两个。例如,a、b或c中的至少一个,可以表示:a,b,c,a和b,a和c,b和c,a、b和c七种情况。
为了更好地理解本申请实施例提供的屏幕显示检测方法及电子设备,下面首先对本申请屏幕显示检测方法的应用场景进行描述。
参阅图1所示,为电子设备处于灭屏状态的示意图。以实际用户体验为例,在电子设备处于灭屏状态时,用户可以对电子设备执行亮屏操作以控制电子设备亮屏。其中,所述亮屏操作可以是触摸电子设备的显示屏、按压电子设备的电源键或抬起电子设备,也可以是其他预先设置的操作。然而,电子设备可能因为各种原因而未正常亮屏。
参阅图2所示,为电子设备处于亮屏状态的示意图。以实际用户体验为例,在电子设备处于亮屏状态时,用户可以对电子设备执行灭屏操作以控制电子设备灭屏。其中,所述灭屏操作可以是触摸电子设备的显示屏、按压电子设备的电源键或放下电子设备,也可以是其他预先设置的操作。然而,电子设备可能因为各种原因而未正常灭屏。
以上电子设备未正常亮屏或灭屏的事件,是用户舆情中非常常见的问题,对用户来说通常会以为电子设备发生故障,甚至质疑电子设备的质量,给用户造成了设备使用上的不便,容易导致用户流失。电子设备未正常亮屏或灭屏的场景包括内核态或用户态的事件传递阻塞、前台窗口绘制异常、亮度值设置不合理等场景。其中,内核态的事件可以包括亮屏或灭屏事件的传递。用户态的事件可以包括输入事件、显示屏亮度值传递事件等。在电子设备执行亮屏或灭屏的过程中,若进程发生阻塞,一般可以通过触发anr/watchdog程序进行优化,然而anr/watchdog的触发概率较低,而且watchdog的触发容易导致电子设备重启,从而给用户造成不便。
为解决上述电子设备未正常亮屏或灭屏的技术问题,本申请实施例提供一种屏幕显示检测方法。所述方法应用在电子设备100中。参阅图3所示,所述电子设备100可以是手机、平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、超级移动个人计算机(Ultra-mobile Personal Computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(Personal Digital Assistant,PDA)、增强现实(Augmented Reality,AR)设备、虚拟现实(Virtual Reality,VR)设备、人工智能(Artificial Intelligence,AI)设备、可穿戴式设备、车载设备、智能家居设备和/或智慧城市设备,本申请实施例对该电子设备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)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器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与***设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备100,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备100供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备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,TD-SCDMA),长期演进(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的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
内部存储器121可以包括一个或多个随机存取存储器(Random Access Memory,RAM)和一个或多个非易失性存储器(Non-Volatile Memory,NVM)。
随机存取存储器可以包括静态随机存储器(Static Random-Access Memory,SRAM)、动态随机存储器(Dynamic Random Access Memory,DRAM)、同步动态随机存储器(Synchronous Dynamic Random Access Memory,SDRAM)、双倍资料率同步动态随机存取存储器(Double Data Rate Synchronous Dynamic Random Access Memory,DDR SDRAM,例如第五代DDR SDRAM一般称为DDR5SDRAM)等;
非易失性存储器可以包括磁盘存储器件、快闪存储器(flash memory)。
快闪存储器按照运作原理划分可以包括NOR FLASH、NAND FLASH、3DNAND FLASH等,按照存储单元电位阶数划分可以包括单阶存储单元(Single-Level Cell,SLC)、多阶存储单元(Multi-Level Cell,MLC)、三阶储存单元(Triple-Level Cell,TLC)、四阶储存单元(Quad-Level Cell,QLC)等,按照存储规范划分可以包括通用闪存存储(Universal FlashStorage,UFS)、嵌入式多媒体存储卡(embedded Multi Media Card,eMMC)等。
随机存取存储器可以由处理器110直接进行读写,可以用于存储操作***或其他正在运行中的程序的可执行程序(例如机器指令),还可以用于存储用户及应用程序的数据等。
非易失性存储器也可以存储可执行程序和存储用户及应用程序的数据等,可以提前加载到随机存取存储器中,用于处理器110直接进行读写。
外部存储器接口120可以用于连接外部的非易失性存储器,实现扩展电子设备100的存储能力。外部的非易失性存储器通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部的非易失性存储器中。
内部存储器121或外部存储器接口120用于存储一个或多个计算机程序。一个或多个计算机程序被配置为被该处理器110执行。该一个或多个计算机程序包括多个指令,多个指令被处理器110执行时,可实现上述实施例中在电子设备100上执行的屏幕显示检测方法,以实现电子设备100的屏幕显示检测功能。
电子设备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的开放移动电子设备100平台(Open Mobile Terminal Platform,OMTP)标准接口,美国蜂窝电信工业协会(Cellular Telecommunications Industry Association of theUSA,CTIA)标准接口。
按键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分离。
参阅图4所示,是本申请实施例提供的电子设备100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将安卓***分为四层,从上至下分别为应用程序层,框架层,安卓运行时(Android runtime)和***库,以及内核层。
应用程序层可以包括一系列应用程序包。例如,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
框架层为应用程序层的应用程序提供应用编程接口(Application ProgrammingInterface,API)和编程框架。应用程序框架层包括一些预先定义的函数。例如,应用程序框架层可以包括窗口管理器,内容提供器,视图***,电话管理器,资源管理器,通知管理器等。
其中,窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图***包括可视控件,例如显示文字的控件,显示图片的控件等。视图***可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等。通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在***顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓***的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和框架层运行在虚拟机中。虚拟机将应用程序层和框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
***库可以包括多个功能模块。例如,表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如SGL)等。
其中,表面管理器用于对显示子***进行管理,并且为多个应用程序提供了2D和3D图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
内核层是电子设备100的操作***的核心,是基于硬件的第一层软件扩充,提供操作***最基本的功能,是操作***工作的基础,负责管理***的进程、内存、设备驱动程序、文件和网络***,决定了***的性能和稳定性。例如,内核可以决定一个应用程序对某部分硬件的操作时间。
内核层包括与硬件紧密相关的程序,例如中断处理程序、设备驱动程序等,还包括基本的、公共的、运行频率较高的模块,例如时钟管理模块、进程调度模块等,还包括关键性的数据结构。内核层可以设置于处理器110中,或固化在内部存储器121。
参阅图5所示,为本申请实施例提供的屏幕显示检测方法的流程图。所述方法应用于电子设备100中,具体包括:
S501,通过内核层获取电源事件,并将电源事件传递至框架层。
在本申请的一实施例中,通过内核层获取电源事件包括:检测用户是否执行亮屏或灭屏操作,若检测到用户执行亮屏或灭屏操作,获取电源事件。具体地,通过/dev/input程序获取电源事件。在本申请的一实施例中,亮屏或灭屏操作为触发电源键。电源键可以是按键(例如,按键190),也可以是另外设置的按键,例如可以是物理按键,也可以是虚拟按键。在其他实施例中,亮屏或灭屏操作为触发显示屏,即通过内核层获取电源事件包括:检测用户是否触发显示屏(例如,显示屏194),若检测到用户触发显示屏,获取电源事件。具体地,用户可以通过触摸显示屏以触发对显示屏的亮屏或灭屏控制。在其他实施例中,亮屏操作为用户抬起电子设备,灭屏操作为用户放下电子设备。
在本申请的一实施例中,将电源事件传递至框架层包括:在获取电源事件后,接入第一超时检测节点,基于第一超时时间进行倒计时,并将电源事件传递至框架层。具体地,在获取电源事件后,获取当前时间s1,并通过内核驱动接入第一超时检测节点。第一超时时间可以是预先设置的时间,也可以是电子设备第一次获取电源事件时设置的时间。第一超时时间可以根据需求进行设置,可选地,第一超时时间为0.5毫秒。
在本申请的一实施例中,第一超时检测节点为KHD超时检测节点,属于内核节点,基于KxxHxxDxx超时机制对任务进行监控,监控规定时间内是否完成任务,完成的任务会被移除。
S502,通过框架层获取电源事件,判断电源事件的传递是否在内核层阻塞。
在本申请的一实施例中,通过框架层获取电源事件包括:框架层通过EventHub(开源事件分析平台)获取内核层传递的电源事件,并通过inputDispatcher(输入事件处理机制)对电源事件进行分发。
在本申请的一实施例中,判断电源事件的传递是否在内核层阻塞包括:在框架层获取电源事件前,判断基于第一超时时间的倒计时是否结束。若基于第一超时时间的倒计时在框架层获取电源事件前结束,确定电源事件的传递在内核层阻塞,然后执行S505。若基于第一超时时间的倒计时未在框架层获取电源事件前结束,确定电源事件的传递未在内核层阻塞,然后执行S503。可以理解的是,若基于第一超时时间的倒计时在框架层获取电源事件前结束,说明内核层将电源事件传递至框架层的时间超过第一超时时间,如此可确定电源事件的传递在内核层阻塞。
在其他实施例中,判断电源事件的传递是否在内核层阻塞包括:在框架层获取电源事件时,获取当前时间s2,确定当前时间s2与当前时间s1之间的差值。若当前时间s2与当前时间s1之间的差值大于第一超时时间,确定电源事件的传递在内核层阻塞,然后执行S505。若当前时间s2与当前时间s1之间的差值小于或等于第一超时时间,确定电源事件的传递未在内核层阻塞,然后执行S503。可以理解的是,若当前时间s2与当前时间s1之间的差值大于第一超时时间,说明内核层将电源事件传递至框架层的时间超过第一超时时间,如此可确定电源事件的传递在内核层阻塞。
S503,判断电源事件是否在框架层阻塞。
为了更清楚完整地说明对电源事件是否在框架层阻塞的判断,可参阅图6所示的对S503的细化流程图,判断电源事件是否在框架层阻塞包括:
S5031,在框架层获取电源事件后,取消第一超时检测节点的计时,接入第二超时检测节点,基于第二超时时间进行倒计时。在本申请的一实施例中,第二超时检测节点为AHD超时检测节点,属于框架层中的***服务节点,基于FxxHxxDxx超时机制对任务进行监控,监控规定时间内是否完成任务,完成的任务会被移除。
在本申请的一实施例中,第二超时时间可以是预先设置的时间,也可以是电子设备第一次判断电源事件是否在框架层阻塞时设置的时间。第二超时时间可以根据需求进行设置,可选地,第二超时时间为1毫秒。
在本申请的一实施例中,在第二超时检测节点基于第二超时时间进行倒计时的过程中,每隔预设时间发送心跳包至第一超时检测节点,通过心跳机制实时侦测第二超时检测节点是否正常工作。若第一超时检测节点在第二超时时间倒计时的过程中未接收到心跳包,确认第二超时检测节点故障。预设时间可以根据需求进行设置,可选地,预设时间为0.05毫秒。其中,心跳包为将己方状态定时通知对方的一个自定义的命令字。
S5032,获取显示屏(例如,显示屏194)的状态。在本申请的一实施例中,所述显示屏的状态包括,但不限于,电源状态、显示屏设置亮度和显示屏驱动亮度。电源状态包括,但不限于,开启(ScreenOn)、关闭(ScreenOff)和部分开启(AOD,Always On Display)。需要说明的是,电源状态开启为显示屏全部呈点亮状态,电源状态关闭为显示屏全部呈熄灭状态,部分开启的电源状态为显示屏的部分区域亮屏,例如,显示屏的时间显示区域、后台显示区域、电量显示区域、信号显示区域、运营商显示区域及/或预先设置的显示区域亮屏,其他显示区域仍然灭屏,即仍然呈熄灭状态。显示屏设置亮度为框架层设置的亮度,显示屏驱动亮度为显示屏的实际显示亮度。
S5033,决策显示屏是否需要执行亮屏或灭屏。在本申请的一实施例中,根据显示屏的电源状态决策显示屏是否需要执行亮屏或灭屏。具体地,若显示屏的电源状态为关闭或部分开启,即显示屏处于灭屏或部分灭屏状态,在接收到分发的电源事件时,确定电源事件对应的用户操作为亮屏操作,进而决策显示屏需要执行亮屏。若显示屏的电源状态为开启,即显示屏处于亮屏状态,在接收到分发的电源事件时,确定电源事件对应的用户操作为灭屏操作,进而决策显示屏需要执行灭屏。
在本申请的另一实施例中,根据显示屏的电源状态和显示屏驱动亮度决策显示屏是否需要执行亮屏或灭屏。具体地,若显示屏的电源状态为开启,即显示屏处于亮屏状态,且显示屏驱动亮度小于第一阈值,表示显示屏的实际显示亮度过低,在接收到分发的电源事件时,确定电源事件对应的用户操作为亮屏操作,进而决策显示屏需要执行亮屏。若显示屏的电源状态为开启,即显示屏处于亮屏状态,且显示屏驱动亮度大于或等于第一阈值,表示显示屏的显示亮度较高,在接收到分发的电源事件时,确定电源事件对应的用户操作为灭屏操作,进而决策显示屏需要执行灭屏。若显示屏的电源状态为关闭或部分开启,即显示屏处于灭屏或部分灭屏状态,在接收到分发的电源事件时,确定电源事件对应的用户操作为亮屏操作,进而决策显示屏需要执行亮屏。第一阈值可以根据需求进行设置,可选地,第一阈值为100nit(尼特)或50nit。
在本申请的另一实施例中,根据显示屏的电源状态、显示屏驱动亮度和显示屏当前正在执行的动作,决策显示屏是否需要执行亮屏或灭屏。具体地,若显示屏的电源状态为开启,即显示屏处于亮屏状态,且显示屏驱动亮度小于第一阈值,表示显示屏的显示亮度过低,在接收到分发的电源事件时,确定电源事件对应的用户操作为亮屏操作,若显示屏当前正在执行亮屏,决策显示屏无需执行亮屏或灭屏,若显示屏当前正在执行灭屏,决策显示屏需要执行亮屏,并取消灭屏的超时监控和增加亮屏的超时监控,若显示屏当前未执行动作,决策显示屏需要执行亮屏。若决策显示屏无需执行亮屏或灭屏,流程结束。
具体地,若显示屏的电源状态为开启,即显示屏处于亮屏状态,且显示屏驱动亮度大于或等于第一阈值,表示显示屏的显示亮度较高,在接收到分发的电源事件时,确定电源事件对应的用户操作为灭屏操作,若显示屏当前正在执行灭屏,决策显示屏无需执行亮屏或灭屏,若显示屏当前正在执行亮屏,决策显示屏需要执行灭屏,并取消亮屏的超时监控和增加灭屏的超时监控,若显示屏当前未执行动作,决策显示屏需要执行灭屏。若决策显示屏无需执行亮屏或灭屏,流程结束。
若显示屏的电源状态为关闭或部分开启,即显示屏处于灭屏或部分灭屏状态,在接收到分发的电源事件时,确定电源事件对应的用户操作为亮屏操作,若显示屏当前正在执行亮屏,决策显示屏无需执行亮屏或灭屏,若显示屏当前正在执行灭屏,决策显示屏需要执行亮屏,并取消灭屏的超时监控和增加亮屏的超时监控,若显示屏当前未执行动作,决策显示屏需要执行亮屏。若决策显示屏无需执行亮屏或灭屏,流程结束。
S5034,若决策显示屏需要执行亮屏,发送亮屏指令至内核层。
S5035,若决策显示屏需要执行灭屏,发送灭屏指令至内核层。
S5036,基于第二超时时间的倒计时确定电源事件是否在框架层阻塞。具体地,在发送亮屏指令或灭屏指令至内核层时,判断第二超时时间的倒计时是否结束。若第二超时时间的倒计时未结束,确定电源事件未在框架层阻塞,然后执行S504。若第二超时时间的倒计时结束,确定电源事件在框架层阻塞,然后执行S505。可以理解的是,若基于第二超时时间的倒计时在框架层发送亮屏指令或灭屏指令至内核层时结束,说明框架层处理电源事件的时间超过第二超时时间,如此可确定电源事件在框架层阻塞。
在本申请的另一实施例中,在发送亮屏指令或灭屏指令至内核层时,获取当前时间s3,确定当前时间s3与当前时间s2之间的差值。若当前时间s3与当前时间s2之间的差值大于第二超时时间,确定电源事件在框架层101阻塞。若当前时间s3与当前时间s2之间的差值小于或等于第二超时时间,确定电源事件未在框架层101阻塞。可以理解的是,若当前时间s3与当前时间s2之间的差值大于第二超时时间,说明框架层处理电源事件的时间超过第二超时时间,如此可确定电源事件在框架层阻塞。
S504,确定显示屏亮屏或灭屏正常,内核层基于亮屏指令控制显示屏亮屏,或基于灭屏指令控制显示屏灭屏。
在本申请的一实施例中,内核层在接收到亮屏指令时,通过显示屏驱动接口设置显示屏亮度,根据显示屏亮度驱动显示屏亮屏。内核层在接收到灭屏指令时,停止驱动显示屏亮屏以控制显示屏灭屏,或将显示屏亮度设置为0。
S505,确定显示屏亮屏或灭屏异常。
在本申请的一实施例中,若电源事件的传递在内核层阻塞,或电源事件在框架层阻塞,确定显示屏亮屏或灭屏异常。若确定显示屏亮屏或灭屏异常,内核层仍可以基于亮屏指令控制显示屏亮屏,或基于灭屏指令控制显示屏灭屏。
参阅图7所示,为本申请另一实施例提供的屏幕显示检测方法的流程图。所述方法应用于电子设备100中,具体包括:
S701-S702和以上S501-S502相同,此处不再重复说明。
S703,判断电源事件是否在框架层阻塞。
在本申请的一实施例中,为便于清楚完整地说明S703,可参阅图8所示的对S703的细化流程图,判断电源事件是否在框架层阻塞包括:
S7031-S7033和以上S5031-S5033相同,此处不再重复说明。
S7034,若决策显示屏需要执行亮屏,获取框架层待设置的显示屏亮度,判断待设置的显示屏亮度是否有效。具体地,判断待设置的显示屏亮度是否满足显示屏亮屏要求。若待设置的显示屏亮度满足显示屏亮度要求,确定待设置的显示屏亮度有效,若待设置的显示屏亮度不满足显示屏亮度要求,确定待设置的显示屏亮度无效。具体地,判断待设置的显示屏亮度与显示屏最大亮度的百分比是否大于或等于第二阈值,若待设置的显示屏亮度与显示屏最大亮度的百分比大于或等于第二阈值,确定待设置的显示屏亮度满足显示屏亮度要求,进而确定待设置的显示屏亮度有效。若待设置的显示屏亮度与显示屏最大亮度的百分比小于第二阈值,确定待设置的显示屏亮度不满足显示屏亮度要求,进而确定待设置的显示屏亮度无效。第二阈值可以根据需求进行设置,可选地,第二阈值为10%或15%。例如,若显示屏亮度的最大值为3000nit,待设置的显示屏亮度为10nit,则待设置的显示屏亮度与显示屏最大亮度的百分比0.33%,该百分比小于第二阈值,则确定待设置的显示屏亮度不满足显示屏亮度要求,进而确定待设置的显示屏亮度无效。
S7035,若确定待设置的显示屏亮度无效,重新确定待设置的显示屏亮度,直至待设置的显示屏亮度有效。
S7036,若确定待设置的显示屏亮度有效,判断显示屏是否完成窗口绘制。
具体地,通过framework check判断显示屏是否完成窗口绘制,窗口可以是电子设备的桌面界面或应用界面。框架层对显示屏待显示的窗口的绘制过程包括:将视图控件view添加至屏幕窗口:创建顶层布局容器DecorView,在顶层布局容器中加载基础布局ViewGroup,将ContentView添加到基础布局中的FrameLayout中;view绘制窗口:调用DecorView测量窗口大小,调用view.layout确定view及子view的位置,view绘制背景、view自身、子view和前景。若view完成窗口绘制,确定显示屏完成窗口绘制。若view未完成窗口绘制,确定显示屏未完成窗口绘制。
S7037,若显示屏完成窗口绘制,调用驱动接口设置该显示屏亮度,并将设置的该显示屏亮度传送至内核层。
S7038,若决策显示屏需要执行灭屏,发送灭屏指令至内核层。
S7039,基于第二超时时间的倒计时确定电源事件是否在框架层阻塞。具体地,在将设置的该显示屏亮度传送至内核层或发送灭屏指令至内核层时,判断第二超时时间的倒计时是否结束。若第二超时时间的倒计时未结束,确定电源事件未在框架层阻塞,执行S704或S708。若第二超时时间的倒计时结束,确定电源事件在框架层阻塞,执行S706。可以理解的是,若基于第二超时时间的倒计时在框架层将设置的该显示屏亮度传送至内核层或发送灭屏指令至内核层时结束,说明框架层处理电源事件的时间超过第二超时时间,如此可确定电源事件在框架层阻塞。
在本申请的另一实施例中,在将设置的该显示屏亮度传送至内核层或发送灭屏指令至内核层时,获取当前时间s3,确定当前时间s3与当前时间s2之间的差值。若当前时间s3与当前时间s2之间的差值大于第二超时时间,确定电源事件在框架层阻塞。若当前时间s3与当前时间s2之间的差值小于或等于第二超时时间,确定电源事件未在框架层阻塞。可以理解的是,若当前时间s3与当前时间s2之间的差值大于第二超时时间,说明框架层处理电源事件的时间超过第二超时时间,如此可确定电源事件在框架层阻塞。
S704,内核层接收该显示屏亮度,调用显示屏驱动接口设置该显示屏亮度,并在显示屏亮屏时判断显示屏的实际显示亮度是否与设置的该显示屏亮度相符。
在本申请的一实施例中,内核层接收该显示屏亮度后,取消第二超时检测节点的计时,接入第一超时检测节点,并基于第三超时时间进行倒计时。具体地,内核层在接收显示屏亮度后,获取当前时间s4,并通过内核驱动接入第一超时检测节点。在本申请的一实施例中,第三超时时间可以是预先设置的时间,也可以是内核层第一次接收到该显示屏亮度时设置的时间。第三超时时间可以根据需求进行设置,可选地,第三超时时间为0.5毫秒。
在本申请的一实施例中,在调用显示屏驱动接口设置该显示屏亮度后,通过显示屏驱动接口驱动显示屏亮屏,获取显示屏的实际显示亮度。
在本申请的一实施例中,判断显示屏的实际显示亮度是否与设置的该显示屏亮度相符包括:判断显示屏的实际显示亮度是否与设置的显示屏亮度相同,若显示屏的实际显示亮度与设置的显示屏亮度相同,确定显示屏的实际显示亮度与设置的显示屏亮度相符,若显示屏的实际显示亮度与设置的显示屏亮度不同,确定显示屏的实际显示亮度与设置的显示屏亮度不符。
在本申请的另一实施例中,判断显示屏的实际显示亮度是否与设置的显示屏亮度相符包括:判断显示屏的实际显示亮度与设置的显示屏亮度之间的差值是否小于第三阈值,若确定显示屏的实际显示亮度与设置的显示屏亮度之间的差值小于第三阈值,确定显示屏的实际显示亮度与设置的显示屏亮度相符,若确定显示屏的实际显示亮度与设置的显示屏亮度之间的差值大于或等于第三阈值,确定显示屏的实际显示亮度与设置的显示屏亮度不符。
在本申请的一实施例中,若确定显示屏的实际显示亮度与设置的显示屏亮度不符,通过显示屏驱动接口根据设置的显示屏亮度重新驱动显示屏亮屏,直至显示屏的实际显示亮度与设置的显示屏亮度相符。
S705,判断显示屏亮度设置是否在内核层阻塞。
在本申请的一实施例中,判断显示屏亮度设置是否在内核层阻塞包括:在确定显示屏的实际显示亮度与设置的显示屏亮度相符时,判断第三超时时间的倒计时是否结束。若确定第三超时时间的倒计时结束,确定显示屏亮度设置在内核层阻塞,执行S706。若确定第三超时时间的倒计时未结束,确定显示屏亮度设置未在内核层阻塞,执行S707,确定显示屏亮屏正常。
在本申请的另一实施例中,在确定显示屏的实际显示亮度与设置的显示屏亮度相符时,获取当前时间s5,确定当前时间s5与当前时间s4之间的差值。若当前时间s5与当前时间s4之间的差值大于第三超时时间,确定显示屏亮度设置在内核层阻塞。若当前时间s5与当前时间s4之间的差值小于或等于第三超时时间,确定显示屏亮度设置未在内核层阻塞。可以理解的是,若当前时间s5与当前时间s4之间的差值大于第三超时时间,说明内核层设置显示屏亮度的时间超过第三超时时间,如此可确定显示屏亮度设置在内核层阻塞。
参阅图9所示,为本申请一实施例提供的屏幕显示检测方法的亮屏应用场景示意图。
在电子设备处于灭屏状态时,用户可以执行亮屏操作以控制电子设备亮屏,在电子设备亮屏的过程中,检测是否亮屏、检测是否阻塞、检测是否亮度异常、检测是否绘制正常。
在本申请的一实施例中,监控电源键在内核中是否被阻塞:电源按键事件被内核驱动检测到,在向框架层传递电源事件前,获取当前时间s1,接入KHD超时检测节点进行,并设置超时时长,设置完进行倒计时。检测电源键在框架中是否被阻塞:框架通过EventHub获取到电源事件,获取当前时间与s1的差(若超过一定范围则抓取对应的日志),接入system_server中的超时机制AHD,设置超时时长,并取消内核驱动中向KHD设置的超时计时器。框架根据当前的亮度值(是否小于一定阈值)、powermanager的状态(on/off/aod)、是否正在处理亮灭屏,流程要变更等决策此次电源键将要进行的处理。具体地,如果当前已经在亮屏处理中(如正在抬手亮屏中),则此次亮屏取消。如果当前正在处理灭屏,则此次电源键将要亮屏处理,则取消灭屏的超时监控,增加亮屏的超时监控。获取应该设置的亮度,检测该亮度值是否符合要亮屏的预期,并调用驱动接口设置亮度值。如果从设置AHD处到此时未超时,则取消system_server中的超时计时器,接入内核KHD超时节点,并设置超时时长。监控设置亮度在内核中是否被阻塞:LCD驱动设置亮度,设置完后再检查是否达到预期亮度。
参阅图10A-10B所示,为本申请另一实施例提供的屏幕显示检测方法的流程图。所述方法应用于电子设备100中,具体包括:
S301,侦测电源按键。S301包括:S3011,接入内核节点超时机制,设置超时时间。S3012,内核节点执行KHD超时机制。S302,/dev/input获取事件。S303,EventHub获取电源事件。S303包括:S3031,取消内核驱动中设置的计时。S3032,接入system_server超时机制,设置超时时间。S3033,system_server执行FHD超时机制。S3034,定时接入内核节点超时机制。S304,inputDispatcher分发事件。S305,电源状态获取。S305包括:S3051,获取上次设置的屏幕亮度。S3052,获取显示屏驱动亮度。S3053,获取电源管理状态(ScreenOn、ScreenOff、AOD)。S306,决策当前是否走亮屏/灭屏流程。S306包括:S3061,当前电源管理状态是否处于非开启(ScreenOn)状态。S3062,当前屏幕亮度是否小于阈值(例如100/50nit)。S3063,是否已经在处理亮屏/灭屏流程。S307,若决策当前走亮屏流程,获取需要设置的亮度值,并检查亮度值是否符合预期。S307包括:S3071,流程是否卡住/阻塞导致设置亮度不生效。S3072,设置的亮度值是否满足要亮屏的程度(如按电源键亮屏时,亮度只设置了10nit,亮度范围为0-3000/9000nit等)。S3073,检查要显示的窗口是否已经绘制完成(针对frameworkcheck)。S308,调用驱动接口,设置亮度。S309,显示屏驱动设置亮度,并在设置后检查亮度值做二次预期检查。S3091,接入内核节点超时机制,设置超时时间,然后重复S3071-S3072。
S708,内核层基于灭屏指令控制显示屏灭屏。
在本申请的一实施例中,内核层在接收到灭屏指令时,停止驱动显示屏亮屏,以控制显示屏灭屏,或将显示屏亮度设置为0。
参阅图11所示,为本申请另一实施例提供的屏幕显示检测方法的灭屏应用场景示意图。
在电子设备100处于亮屏状态时,用户可以执行灭屏操作以控制电子设备灭屏,在电子设备灭屏的过程中,检测是否灭屏、检测是否阻塞、检测是否下发背光。
在本申请的一实施例中,监控电源键在内核中是否被阻塞:电源按键事件被内核驱动检测到,在向框架传递电源事件前,获取当前时间s1,接入KHD超时检测节点进行,并设置超时时长,设置完进行倒计时。检测电源键在框架中是否被阻塞:框架通过EventHub获取到电源事件,获取当前时间与s1的差(若超过一定范围则抓取对应的日志),接入system_server中的超时机制AHD,设置超时时长,并取消内核驱动中向KHD设置的超时计时器。框架根据powermanager的状态(on/off/AOD)、是否正在处理亮灭屏,流程要变更等决策此次电源键将要进行的处理。具体地,如果当前已经在灭屏处理中,则此次灭屏取消。如果当前正在处理亮屏,此次电源键将要灭屏处理,则取消亮屏的超时监控,增加灭屏的超时监控。如果从设置AHD处到此时未超时,则取消system_server中的超时计时器,接入内核KHD超时节点,并设置超时时长。监控设置灭屏在内核中是否被阻塞,并监控在处理灭屏的过程中电子设备是否下发背光。若未正常灭屏,灭屏在内核中被阻塞,或在处理灭屏的过程中电子设备下发背光,确定显示屏灭屏异常。
灭屏处理流程中决策当前走灭屏流程的步骤与图10A中的S301-S306相同。若S306中决策当前走灭屏流程,则在框架层调用驱动接口将显示屏亮度设置为0,在内核层通过LCD驱动设置显示屏的亮度为0,并检测亮度设置是否框架层或内核层阻塞以及是否下发背光。
S707,确定显示屏亮屏或灭屏异常。
在本申请的一实施例中,若电源事件的传递在内核层阻塞,电源事件在框架层阻塞,或显示屏亮度设置在内核层阻塞,确定显示屏亮屏或灭屏异常。若确定显示屏亮屏或灭屏异常,内核层仍可以基于设置的显示屏亮度控制显示屏亮屏,或基于灭屏指令控制显示屏灭屏。
参阅图12所示,为本申请另一实施例提供的屏幕显示检测方法的流程图。所述方法应用于电子设备100中,具体包括:
S901-S908分别和以上的S701-S708相同,此处不再重复说明。
S909,获取异常事件以生成日志,并将日志上传至服务器。
参阅图13所示,是本申请实施例提供的电子设备的通信架构示意图。电子设备100与服务器200通过网络300通信连接。例如,网络300可以为2G网络、3G网络、4G-LET网络或5G新空口(5G-New Radio)网络中的至少一种。
需要说明的是,上述的说明并不构成对本申请电子设备的通信架构的限定,本申请电子设备的通信架构图包括但不限于图13所示的范例。
在本申请的一实施例中,获取异常事件以生成日志包括:在亮度检测异常或亮灭屏事件处理阻塞时,根据预设规则获取异常事件以生成日志。
具体地,亮度检测异常包括:显示屏驱动亮度小于第一阈值、待设置的显示屏亮度无效及显示屏的实际显示亮度与设置的显示屏亮度不符。亮灭屏事件处理阻塞包括:电源事件的传递在内核层阻塞、电源事件在框架层阻塞及显示屏亮度设置在内核层阻塞。其中,亮灭屏事件处理发生阻塞的路径、节点或处理流程可以基于第一超时检测节点和第二超时检测节点的倒计时进行确定。例如,若基于第一超时检测节点和第二超时检测节点的倒计时确定亮灭屏处理时间在一路径、节点或处理流程停留的时间超过阈值时间,或基于第一超时检测节点和第二超时检测节点的倒计时在一路径、节点或处理流程结束,则确定亮灭屏处理事件在该路径、节点或处理流程发生阻塞,并将该路径、节点或处理流程及相关信息(例如停留时间等)作为异常事件写入日志。
具体地,根据预设规则获取异常事件包括:根据预设的隐私规则获取异常事件的维测信息,并向异常节点/路径写入异常事件和对应的异常信息。其中,维测信息包括调用栈信息和附加信息,调用栈信息可以包括system_server(***服务)信息、surfaceflinger(显示服务)信息、graphics(显示图形库)信息及关联的apk(应用程序包)进程、native进程等。附件信息可以包括binder(进程间通信机制)信息、dumpsys信息、内存信息、cpu调度信息等。预设的隐私规则包括:获取的调用栈信息和附加信息中不包含用户的隐私信息,例如位置信息、通讯信息等。
参阅图14所示,为本申请一实施例提供的屏幕显示检测方法的流程监控逻辑示意图。所述流程监控逻辑具体包括:
S1101,若电源键触发,内核层进行内核电源事件传递阻塞监控。
S1102,框架层进行电源事件的获取超时监控。
S1103,框架层进行电源事件的分发超时监控。
S1104,框架层进行***状态(亮灭屏、亮度、AOD等)获取。
S1105,框架层进行本次电源事件处理决策。
S1106,框架层判断应设的亮度值的有效性。
S1107,框架层进行亮灭屏状态设置阻塞监控。
S1108,框架层进行亮度值传递设置阻塞监控。
S1109,内核层执行内核显示屏(LCD)设置亮度。
S1110,内核层执行内核显示屏(LCD)亮度二次检测。
S1111,异常日志抓取。
S1112,异常日志上报,例如,上报至基于服务器运行的网站。
本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备100上运行时,使得电子设备100执行上述实施例中的屏幕显示检测方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述实施例中的屏幕显示检测方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的屏幕显示检测方法。
其中,本实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参阅上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是,以上实施例仅用以说明本申请的技术方案而非限制,尽管参照较佳实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或等同替换,而不脱离本申请技术方案的精神和范围。
Claims (23)
1.一种屏幕显示检测方法,其特征在于,所述方法包括:
通过内核层获取控制显示屏亮屏或灭屏的电源事件,并将所述电源事件传递至框架层;
通过所述框架层获取所述电源事件,判断所述电源事件的传递是否在所述内核层阻塞;
若确定所述电源事件的传递未在所述内核层阻塞,判断所述电源事件是否在所述框架层阻塞;
若确定所述电源事件未在所述框架层阻塞,通过所述内核层控制所述显示屏亮屏或灭屏。
2.如权利要求1所述的屏幕显示检测方法,其特征在于,通过内核层获取控制显示屏亮屏或灭屏的电源事件包括:
检测用户是否执行亮屏或灭屏操作,若检测到用户执行所述亮屏或灭屏操作,获取所述电源事件。
3.如权利要求2所述的屏幕显示检测方法,其特征在于,将所述电源事件传递至框架包括:
在获取所述电源事件后,所述内核层接入第一超时检测节点,控制所述第一超时检测节点基于第一超时时间进行倒计时,并将所述电源事件传递至所述框架层。
4.如权利要求3所述的屏幕显示检测方法,其特征在于,判断所述电源事件的传递是否在所述内核层阻塞包括:
在所述框架层获取电源事件前,判断基于所述第一超时时间的倒计时是否结束;若确定基于所述第一超时时间的倒计时在所述框架层获取电源事件前结束,确定所述电源事件的传递在内核层阻塞;或
若基于所述第一超时时间的倒计时未在所述框架层获取所述电源事件前结束,确定所述电源事件的传递未在所述内核层阻塞。
5.如权利要求4所述的屏幕显示检测方法,其特征在于,通过所述框架层获取所述电源事件包括:
所述框架层通过开源事件分析平台获取所述内核层传递的所述电源事件,并通过输入事件处理机制对所述电源事件进行分发。
6.如权利要求3所述的屏幕显示检测方法,其特征在于,判断所述电源事件是否在所述框架层阻塞包括:
在所述框架层获取所述电源事件后,所述框架层接入第二超时检测节点,并控制所述第二超时检测节点基于第二超时时间进行倒计时;
获取所述显示屏的状态,并根据所述显示屏的状态决策所述显示屏是否需要执行亮屏或灭屏;
若决策所述显示屏需要执行亮屏,发送亮屏指令至所述内核层;或
若决策所述显示屏需要执行灭屏,发送灭屏指令至所述内核层;
基于所述第二超时时间的倒计时确定所述电源事件是否在所述框架层阻塞。
7.如权利要求6所述的屏幕显示检测方法,其特征在于,判断所述电源事件是否在所述框架层阻塞还包括:
在所述第二超时检测节点基于所述第二超时时间进行倒计时的过程中,每隔预设时间发送心跳包至所述第一超时检测节点,以实时侦测所述第二超时检测节点是否正常工作。
8.如权利要求6所述的屏幕显示检测方法,其特征在于,所述显示屏的状态包括电源状态,所述电源状态包括开启、关闭及部分开启。
9.如权利要求8所述的屏幕显示检测方法,其特征在于,根据所述显示屏的状态决策所述显示屏是否需要执行亮屏或灭屏包括:
根据所述显示屏的电源状态决策所述显示屏是否需要执行亮屏或灭屏;
若所述显示屏的电源状态为关闭或部分开启,确定所述电源事件对应的用户操作为亮屏操作,决策所述显示屏需要执行亮屏;或
若所述显示屏的电源状态为开启,确定所述电源事件对应的用户操作为灭屏操作,决策所述显示屏需要执行灭屏。
10.如权利要求8所述的屏幕显示检测方法,其特征在于,所述显示屏的状态还包括显示屏驱动亮度,根据所述显示屏的状态决策所述显示屏是否需要执行亮屏或灭屏包括:
根据所述显示屏的电源状态和显示屏驱动亮度决策显示屏是否需要执行亮屏或灭屏;
若所述显示屏的电源状态为开启且所述显示屏驱动亮度小于第一阈值,确定所述电源事件对应的用户操作为亮屏操作,决策所述显示屏需要执行亮屏;或
若所述显示屏的电源状态为开启且所述显示屏驱动亮度大于或等于第一阈值,确定所述电源事件对应的用户操作为灭屏操作,决策所述显示屏需要执行灭屏;或
若所述显示屏的电源状态为关闭或部分开启,确定所述电源事件对应的用户操作为亮屏操作,决策所述显示屏需要执行亮屏。
11.如权利要求10所述的屏幕显示检测方法,其特征在于,根据所述显示屏的状态决策所述显示屏是否需要执行亮屏或灭屏还包括:
根据所述显示屏的电源状态、显示屏驱动亮度和所述显示屏当前正在执行的动作,决策所述显示屏是否需要执行亮屏或灭屏;
若所述显示屏的电源状态为开启且所述显示屏驱动亮度小于第一阈值,确定所述电源事件对应的用户操作为亮屏操作,若所述显示屏当前正在执行亮屏,决策所述显示屏无需执行亮屏或灭屏,若所述显示屏当前正在执行灭屏,决策所述显示屏需要执行亮屏,若所述显示屏当前未执行动作,决策显示屏需要执行亮屏;或
若所述显示屏的电源状态为开启且所述显示屏驱动亮度大于或等于第一阈值,确定所述电源事件对应的用户操作为灭屏操作,若显示屏当前正在执行灭屏,决策所述显示屏无需执行亮屏或灭屏,若显示屏当前正在执行亮屏,决策所述显示屏需要执行灭屏,若所述显示屏当前未执行动作,决策所述显示屏需要执行灭屏;或
若所述显示屏的电源状态为关闭或部分开启,确定所述电源事件对应的用户操作为亮屏操作,若所述显示屏当前正在执行亮屏,决策显示屏无需执行亮屏或灭屏,若所述显示屏当前正在执行灭屏,决策所述显示屏需要执行亮屏,若所述显示屏当前未执行动作,决策所述显示屏需要执行亮屏。
12.如权利要求11所述的屏幕显示检测方法,其特征在于,根据所述显示屏的状态决策所述显示屏是否需要执行亮屏或灭屏还包括:
若确定所述电源事件对应的用户操作为亮屏操作,且所述显示屏当前正在执行灭屏,决策所述显示屏需要执行亮屏,并取消灭屏的超时监控和增加亮屏的超时监控;或
若确定所述电源事件对应的用户操作为灭屏操作,且所述显示屏当前正在执行亮屏,决策所述显示屏需要执行灭屏,并取消亮屏的超时监控和增加灭屏的超时监控。
13.如权利要求6所述的屏幕显示检测方法,其特征在于,基于所述第二超时时间的倒计时确定所述电源事件是否在所述框架层阻塞包括;
在发送所述亮屏指令或所述灭屏指令至所述内核层时,判断所述第二超时时间的倒计时是否结束;
若所述第二超时时间的倒计时未结束,确定所述电源事件未在所述框架层阻塞;或
若所述第二超时时间的倒计时结束,确定所述电源事件在所述框架层阻塞。
14.如权利要求6所述的屏幕显示检测方法,其特征在于,判断所述电源事件是否在所述框架层阻塞还包括:
若决策所述显示屏需要执行亮屏,获取所述框架层待设置的显示屏亮度,判断所述待设置的显示屏亮度是否有效;
若确定所述待设置的显示屏亮度无效,重新确定待设置的显示屏亮度,直至所述待设置的显示屏亮度有效;或
若确定所述待设置的显示屏亮度有效,判断所述显示屏是否完成窗口绘制;
若确定所述显示屏完成窗口绘制,调用驱动接口设置所述待设置的显示屏亮度,并将设置的显示屏亮度传送至所述内核层。
15.如权利要求14所述的屏幕显示检测方法,其特征在于,判断所述待设置的显示屏亮度是否有效包括:
判断所述待设置的显示屏亮度与显示屏最大亮度的百分比是否大于或等于第二阈值;
若所述待设置的显示屏亮度与所述显示屏最大亮度的百分比大于或等于所述第二阈值,确定所述待设置的显示屏亮度有效;或
若所述待设置的显示屏亮度与所述显示屏最大亮度的百分比小于所述第二阈值,确定所述待设置的显示屏亮度无效。
16.如权利要求15所述的屏幕显示检测方法,其特征在于,所述方法还包括:
所述内核层接收设置的所述显示屏亮度,调用显示屏驱动接口设置所述显示屏亮度,并在所述显示屏亮屏时判断所述显示屏的实际显示亮度是否与设置的所述显示屏亮度相符;
若确定所述显示屏的实际显示亮度与设置的所述显示屏亮度不符,通过所述显示屏驱动接口根据设置的所述显示屏亮度重新驱动所述显示屏亮屏,直至所述显示屏的实际显示亮度与设置的所述显示屏亮度相符;
判断显示屏亮度设置是否在所述内核层阻塞。
17.如权利要求16所述的屏幕显示检测方法,其特征在于,所述方法还包括:
所述内核层接收该显示屏亮度后,接入所述第一超时检测节点,并控制所述第一超时检测节点基于第三超时时间进行倒计时;
判断显示屏亮度设置是否在所述内核层阻塞包括:
在确定所述显示屏的实际显示亮度与设置的所述显示屏亮度相符时,判断所述第三超时时间的倒计时是否结束;
若确定所述第三超时时间的倒计时结束,确定所述显示屏亮度设置在所述内核层阻塞;或
若确定所述第三超时时间的倒计时未结束,确定所述显示屏亮度设置未在所述内核层阻塞。
18.如权利要求17所述的屏幕显示检测方法,其特征在于,所述方法还包括:
若确定所述电源事件的传递在所述内核层阻塞、确定所述电源事件在所述框架层阻塞、或确定所述显示屏亮度设置在所述内核层阻塞,确定所述显示屏亮屏或灭屏异常。
19.如权利要求1-18任一项所述的屏幕显示检测方法,其特征在于,所述方法还包括:
获取异常事件以生成日志,并将所述日志上传至服务器。
20.如权利要求19所述的屏幕显示检测方法,其特征在于,获取异常事件以生成日志包括:
在亮度检测异常或亮灭屏事件处理阻塞时,根据预设规则获取所述异常事件以生成所述日志。
21.如权利要求20所述的屏幕显示检测方法,其特征在于,根据预设规则获取所述异常事件包括:
根据预设的隐私规则获取所述异常事件的维测信息,并向异常节点或路径写入所述异常事件和对应的异常信息,其中,所述维测信息包括调用栈信息和附加信息,所述预设的隐私规则包括:获取的所述调用栈信息和附加信息中不包含用户的隐私信息。
22.一种电子设备,其特征在于,所述电子设备包括存储器和处理器:
其中,所述存储器,用于存储程序指令;
所述处理器,用于读取并执行所述存储器中存储的所述程序指令,当所述程序指令被所述处理器执行时,使得所述电子设备执行如权利要求1至21中任一项所述的屏幕显示检测方法。
23.一种计算机存储介质,其特征在于,所述计算机存储介质存储有程序指令,当所述程序指令在电子设备上运行时,使得所述电子设备执行如权利要求1至21中任一项所述的屏幕显示检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110956799.1A CN115904297A (zh) | 2021-08-19 | 2021-08-19 | 屏幕显示检测方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110956799.1A CN115904297A (zh) | 2021-08-19 | 2021-08-19 | 屏幕显示检测方法、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115904297A true CN115904297A (zh) | 2023-04-04 |
Family
ID=86471430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110956799.1A Pending CN115904297A (zh) | 2021-08-19 | 2021-08-19 | 屏幕显示检测方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115904297A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117177059A (zh) * | 2023-10-27 | 2023-12-05 | 荣耀终端有限公司 | 用于视频通话的相机控制方法、电子设备及存储介质 |
CN117707453A (zh) * | 2023-08-15 | 2024-03-15 | 荣耀终端有限公司 | 一种节点信息的读取方法、设备及存储介质 |
-
2021
- 2021-08-19 CN CN202110956799.1A patent/CN115904297A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117707453A (zh) * | 2023-08-15 | 2024-03-15 | 荣耀终端有限公司 | 一种节点信息的读取方法、设备及存储介质 |
CN117177059A (zh) * | 2023-10-27 | 2023-12-05 | 荣耀终端有限公司 | 用于视频通话的相机控制方法、电子设备及存储介质 |
CN117177059B (zh) * | 2023-10-27 | 2024-04-12 | 荣耀终端有限公司 | 用于视频通话的相机控制方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113704014B (zh) | 日志获取***、方法、电子设备及存储介质 | |
CN114443277A (zh) | 内存管理方法、装置、电子设备以及计算机可读存储介质 | |
CN114168065B (zh) | 调整内存配置参数的方法和装置 | |
WO2021013132A1 (zh) | 输入方法及电子设备 | |
CN113704205B (zh) | 日志存储的方法、芯片、电子设备和可读存储介质 | |
CN113805797B (zh) | 网络资源的处理方法、电子设备及计算机可读存储介质 | |
US20230385112A1 (en) | Memory Management Method, Electronic Device, and Computer-Readable Storage Medium | |
CN113641271A (zh) | 应用窗口的管理方法、终端设备及计算机可读存储介质 | |
CN115904297A (zh) | 屏幕显示检测方法、电子设备及存储介质 | |
CN115333941A (zh) | 获取应用运行情况的方法及相关设备 | |
CN113656089B (zh) | 应用程序中的类验证方法和装置 | |
CN116048831B (zh) | 一种目标信号处理方法和电子设备 | |
CN114489469B (zh) | 一种数据读取方法、电子设备及存储介质 | |
CN115482143B (zh) | 应用的图像数据调用方法、***、电子设备及存储介质 | |
CN113407300B (zh) | 应用误杀评估方法及相关设备 | |
CN116703689B (zh) | 一种着色器程序的生成方法、装置和电子设备 | |
CN116684520B (zh) | 一种关机方法、电子设备、存储介质及芯片 | |
CN116662150B (zh) | 应用启动耗时检测方法及相关装置 | |
CN114006969B (zh) | 一种窗口启动方法和电子设备 | |
CN116703691B (zh) | 图像处理方法、电子设备及计算机存储介质 | |
CN116991274B (zh) | 一种上滑动效异常处理方法及电子设备 | |
WO2023246783A1 (zh) | 调整设备功耗的方法及电子设备 | |
CN117707405A (zh) | 显示屏控制方法及相关设备 | |
CN117119102A (zh) | 语音交互功能的唤醒方法及电子设备 | |
CN117707449A (zh) | 显示控制方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |