CN114879896A - 一种冻屏处理方法、电子设备及存储介质 - Google Patents
一种冻屏处理方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114879896A CN114879896A CN202210798657.1A CN202210798657A CN114879896A CN 114879896 A CN114879896 A CN 114879896A CN 202210798657 A CN202210798657 A CN 202210798657A CN 114879896 A CN114879896 A CN 114879896A
- Authority
- CN
- China
- Prior art keywords
- display
- display layer
- layer
- electronic equipment
- 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.)
- Granted
Links
- 230000008014 freezing Effects 0.000 title claims abstract description 25
- 238000007710 freezing Methods 0.000 title claims abstract description 25
- 238000003672 processing method Methods 0.000 title abstract description 11
- 238000000034 method Methods 0.000 claims abstract description 67
- 230000008569 process Effects 0.000 claims abstract description 34
- 238000007667 floating Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 7
- 238000007726 management method Methods 0.000 description 35
- 230000006870 function Effects 0.000 description 25
- 230000000694 effects Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 9
- 230000015572 biosynthetic process Effects 0.000 description 8
- 238000003786 synthesis reaction Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 239000011521 glass Substances 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44594—Unloading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供一种冻屏处理方法、电子设备及存储介质,涉及终端技术领域,用于解决电子设备无法响应用户对触摸屏的触摸事件,造成的冻屏问题;该方法包括:当电子设备接收到用户在第一界面上输入的触摸事件时,电子设备确定触摸事件对应的第一显示窗口;第一显示窗口中的显示画面对应第一显示图层;电子设备获取第一界面上的所有显示图层中每个显示图层的属性信息;电子设备判断所有显示图层中是否存在第二显示图层遮挡所述第一显示图层;其中,第二显示图层遮挡第一显示图层用于使电子设备丢弃触摸事件;若所有显示图层中存在第二显示图层遮挡第一显示图层,电子设备关闭第二显示图层对应的第一应用的进程。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种冻屏处理方法、电子设备及存储介质。
背景技术
随着电子设备的发展,触摸屏得到了广泛的应用。电子设备可以接收用户对触摸屏的触摸事件,通过对该触摸事件的识别,执行与该触摸事件对应的触摸指令。例如,电子设备可以接收用户在触摸屏上对某一应用的应用图标的点击,显示该应用的相应界面。
但是,一些应用在启动后显示的界面会导致电子设备无法响应用户对触摸屏的触摸事件,从而造成冻屏的现象。
发明内容
本申请实施例提供一种冻屏处理方法、电子设备及存储介质,用于解决电子设备无法响应用户对触摸屏的触摸事件,造成的冻屏问题。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供了一种冻屏处理方法,该方法包括:当电子设备接收到用户在第一界面上输入的触摸事件时,电子设备确定触摸事件对应的第一显示窗口;第一显示窗口中的显示画面对应第一显示图层;电子设备获取第一界面上的所有显示图层中每个显示图层的属性信息;属性信息至少包括以下信息中的一种或多种的组合:透明度、图层类型、图层大小、图层可见度以及图层名称;电子设备判断所有显示图层中是否存在第二显示图层遮挡所述第一显示图层;其中,第二显示图层遮挡第一显示图层用于使电子设备丢弃触摸事件;若所有显示图层中存在第二显示图层遮挡第一显示图层,电子设备关闭第二显示图层对应的第一应用的进程。
基于第一方面,首先,当电子设备接收到用户在第一界面上输入的触摸事件时,电子设备确定触摸事件对应的第一显示窗口,第一显示窗口中的显示画面对应第一显示图层;之后,电子设备获取第一界面上所有显示图层中每个显示图层的属性信息,并判断所有显示图层中是否存在第二显示图层遮挡第一显示图层;由于第二显示图层遮挡第一显示图层用于使电子设备丢弃触摸事件,这样就会导致电子设备无法响应用户输入的触摸事件。因此若所有显示图层中存在第二显示图层遮挡第一显示图层,电子设备会关闭第二显示图层对应的第一应用的进程,从而能够解决电子设备无法响应用户输入的触摸事件,造成的冻屏问题。
在第一方面的一种实现方式中,该方法还包括:电子设备关闭第一应用的悬浮窗权限。
在该实现方式中,由于电子设备关闭了第一应用的悬浮窗权限,这样电子设备就不会通过悬浮窗权限显示第二显示图层的内容,进一步解决了电子设备无法响应用户输入的触摸事件,造成的冻屏问题。
在第一方面的一种实现方式中,该方法还包括:电子设备卸载第一应用。
在该实现方式中,由于电子设备卸载了第一应用,因此不会存在第二显示图层遮挡第一显示图层的问题,从根本上解决了电子设备无法响应用户输入的触摸事件,造成的冻屏问题。
在第一方面的一种实现方式中,在电子设备关闭第二显示图层对应的第一应用的进程之前,该方法还包括:电子设备显示提示信息;提示信息用于向用户提示第一应用引起冻屏;冻屏为所述电子设备不响应用户输入的触摸事件;其中,提示信息包括第一控件;电子设备关闭第二显示图层对应的第一应用的进程,包括:电子设备响应于用户对第一控件的操作,关闭第二显示图层对应的第一应用的进程。
在该实现方式中,由于电子设备显示了提示信息,可以向用户提示此次冻屏是由第一应用引起的;之后,电子设备可以根据提示信息选择关闭第一应用的进程,在解决了电子设备产生冻屏问题的同时,还提高了用户体验。
在第一方面的一种实现方式中,提示信息还包括第二控件和第三控件;电子设备关闭第一应用的悬浮窗权限,包括:电子设备响应于用户对第二控件的操作,关闭第一应用的悬浮窗权限;电子设备卸载第一应用,包括:电子设备响应于用户对第三控件的操作,卸载第一应用。
在该实现方式中,由于提示信息还包括第二控件和第三控件,这样用户可以根据提示信息选择关闭第一应用的悬浮窗权限,或者卸载第一应用,在解决了电子设备产生冻屏问题的同时,还提高了用户体验。
在第一方面的一种实现方式中,第二显示图层遮挡第一显示图层包括:第二显示图层覆盖第一显示图层、第二显示图层为用户不可见的显示图层、且第二显示图层为不可信任图层;不可信任图层为电子设备预先设置的触摸事件不可穿透的显示图层;或者,第二显示图层覆盖第一显示图层、第二显示图层为用户不可见的显示图层、且第二显示图层的透明度大于或等于透明度阈值。
在第一方面的一种实现方式中,电子设备判断所有显示图层中是否存在第二显示图层遮挡第一显示图层,包括:电子设备按照所有显示图层的优先级,遍历优先级高于所述第一显示图层的优先级中的每个显示图层,判断所有显示图层中是否存在第二显示图层遮挡第一显示图层。
在该实现方式中,在电子设备判断是否存在第二显示图层遮挡第一显示图层时,电子设备可以按照所有显示图层的优先级,遍历优先级高于第一显示图层的优先级中的每个显示图层,这样,电子设备不需要遍历第一界面的所有显示图层,有利于降低设备功耗。
在第一方面的一种实现方式中,该方法还包括:若所有显示图层中未存在第二显示图层遮挡第一显示图层,电子设备将触摸事件分发至第一显示窗口,并执行触摸事件的触摸指令。
在该实现方式中,当所有显示图层中未存在第二显示图层遮挡第一显示图层时,电子设备将触摸事件分发至第一显示窗口,并执行触摸事件的触摸指令,有利于提高用户体验。
第二方面,提供一种电子设备,该电子设备具有实现上述第一方面所述的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第三方面,提供一种电子设备,该电子设备包括触摸屏、存储器和一个或多个处理器;触摸屏、存储器和处理器耦合;存储器用于存储计算机程序代码,计算机程序代码包括计算机指令;当计算机指令被处理器执行时,使得电子设备执行如下步骤:当电子设备接收到用户在第一界面上输入的触摸事件时,电子设备确定触摸事件对应的第一显示窗口;第一显示窗口中的显示画面对应第一显示图层;电子设备获取第一界面上的所有显示图层中每个显示图层的属性信息;属性信息至少包括以下信息中的一种或多种的组合:透明度、图层类型、图层大小、图层可见度以及图层名称;电子设备判断所有显示图层中是否存在第二显示图层遮挡所述第一显示图层;其中,第二显示图层遮挡第一显示图层用于使电子设备丢弃触摸事件;若所有显示图层中存在第二显示图层遮挡第一显示图层,电子设备关闭第二显示图层对应的第一应用的进程。
在第三方面的一种实现方式中,当计算机指令被处理器执行时,使得电子设备还执行如下步骤:电子设备关闭第一应用的悬浮窗权限。
在第三方面的一种实现方式中,当计算机指令被处理器执行时,使得电子设备还执行如下步骤:电子设备卸载第一应用。
在第三方面的一种实现方式中,在电子设备关闭第二显示图层对应的第一应用的进程之前,当计算机指令被处理器执行时,使得电子设备还执行如下步骤:电子设备显示提示信息;提示信息用于向用户提示第一应用引起冻屏;冻屏为所述电子设备不响应用户输入的触摸事件;其中,提示信息包括第一控件;电子设备关闭第二显示图层对应的第一应用的进程,包括:电子设备响应于用户对第一控件的操作,关闭第二显示图层对应的第一应用的进程。
在第三方面的一种实现方式中,提示信息还包括第二控件和第三控件;当计算机指令被处理器执行时,使得电子设备具体执行如下步骤:电子设备响应于用户对第二控件的操作,关闭第一应用的悬浮窗权限;或者,电子设备响应于用户对第三控件的操作,卸载第一应用。
在第三方面的一种实现方式中,第二显示图层遮挡第一显示图层包括:第二显示图层覆盖第一显示图层、第二显示图层为用户不可见的显示图层、且第二显示图层为不可信任图层;不可信任图层为电子设备预先设置的触摸事件不可穿透的显示图层;或者,第二显示图层覆盖第一显示图层、第二显示图层为用户不可见的显示图层、且第二显示图层的透明度大于或等于透明度阈值。
在第三方面的一种实现方式中,当计算机指令被处理器执行时,使得电子设备具体执行如下步骤:电子设备按照所有显示图层的优先级,遍历优先级高于所述第一显示图层的优先级中的每个显示图层,判断所有显示图层中是否存在第二显示图层遮挡第一显示图层。
在第三方面的一种实现方式中,当计算机指令被处理器执行时,使得电子设备还执行如下步骤:若所有显示图层中未存在第二显示图层遮挡第一显示图层,电子设备将触摸事件分发至第一显示窗口,并执行触摸事件的触摸指令。
第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机可以执行上述第一方面中任一项所述的方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第一方面中任一项所述的方法。
其中,第二方面至第五方面中任一种设计方式所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种电子设备出现冻屏现象的示意图;
图2为本申请实施例提供的一种电子设备的硬件结构示意图;
图3为本申请实施例提供的一种电子设备的软件框架示意图;
图4为本申请实施例提供的一种冻屏处理方法的流程示意图一;
图5为本申请实施例提供的一种所有显示图层的示意图;
图6为本申请实施例提供的一种冻屏处理方法的流程示意图二;
图7为本申请实施例提供的一种冻屏处理方法的流程示意图三;
图8为本申请实施例提供的一种冻屏处理方法的界面示意图;
图9为本申请实施例提供的一种芯片***的结构示意图。
具体实施方式
为了使本领域技术人员更好地理解本申请实施例的方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
为了便于理解,首先对本申请涉及到的技术术语进行描述。
透明度(alpha):指的是显示图层的透明度。其中,透明度(alpha)的取值范围可以为0-255,也可以为0.0f-1.0f。数值越小,透明度越高。以透明度(alpha)的取值范围为0.0f-1.0f为例,示例性的,0.0f表示显示图层完全透明,1.0f表示显示图层完全不透明。
其中,图层是由多个像素组成的,一个或多个图层叠加形成整个显示图像。示例性的,可以将每一个图层类似于一个“透明玻璃”;如果该“透明玻璃”上什么都没有,该“透明玻璃”就是一个完全透明的空图层(或称透明图层);如果该“透明玻璃”上有图像时,该“透明玻璃”可以称为非透明图层。
显示窗口:电子设备的显示界面可以由多个显示窗口构成;其中,一个显示窗口管理一个显示图层。
显示图层:电子设备的显示界面是由一个或多个显示图层叠加形成的。其中,电子设备可以按照显示图层的优先级(或称层级),从低优先级(低层级)到高优先级(高层级)依次叠加显示图层,从而形成整个显示界面。
其中,显示图层的层级指的是显示图层的竖轴坐标上的大小;竖轴坐标越大,显示图层的层级越高,竖轴坐标越小,显示图层的层级越低。
不可信任显示图层:指的是触摸事件不可穿透的显示图层。其中,***默认除了一些特殊的显示图层以外,其他所有的显示图层均为不可信任显示图层。例如,一些特殊的显示图层包括:无障碍显示窗口对应的显示图层、输入编辑器(input method editor,IME)显示窗口对应的显示图层、智能助理显示窗口对应的显示图层、显示窗口的根视图为GONE或者INVISIBLE对应的显示图层、显示图层的透明度为0、以及显示窗口的类型为TYPE_APPLICATION_OVERLAY,且透明度小于透明度阈值(如0.8)对应的显示图层。
在本申请实施例中,上述所示的这些特殊的显示图标也可以称为可信任显示图层。其中,可信任显示图层指的是触摸事件能够穿透的显示图层。
为了提高***的安全性,防止电子设备将触摸事件穿透显示图层,分发至与触摸事件对应的显示窗口中,相关技术提供了一种针对于不可信任显示图层的安全机制,该安全机制包括:当触摸事件对应的显示窗口上方存在不可信任显示图层时,电子设备将该触摸事件丢弃,不会分发至对应的显示窗口。但是,这样一来,就会导致该显示窗口所在触摸屏上的区域无法响应用户输入的触摸事件,从而造成冻屏的现象。并且,由于此次冻屏并未触发crash以及watchdog(看门狗),因此现有的冻屏监控很难监控到这种冻屏的场景,影响了用户体验。
示例性的,为了缓解用户长时间使用电子设备带来的眼睛不适的问题,第三方厂商开发了一种具有护眼功能的应用(例如护眼宝应用)。其中,护眼宝应用在安装启动后,会在电子设备的显示窗口内显示一个淡黄色的遮罩层,这种淡黄色的遮罩层能够有效起到护眼的作用。
需要说明的是,虽然护眼宝应用在启动后,会在电子设备的显示窗口内显示一个淡黄色的遮罩层,但是这种遮罩层对用户不可见,即用户肉眼看不到护眼宝应用显示的淡黄色的遮罩层,因此护眼宝应用启动后在电子设备的显示窗口内显示的淡黄色的遮罩层,不会影响用户使用电子设备的体验,但是可以起到护眼的作用。
通常情况下,护眼宝应用的显示窗口的优先级高于桌面显示窗口的优先级,并且护眼宝应用的显示窗口内的显示图层的透明度为1,且该显示图层的图层类型为不可触摸类型(NO_TOUCHABLE)。由上述可知,护眼宝应用的显示窗口内的显示图层可以称为不可信任显示图层。
在此基础上,当护眼宝应用启动后,如图1所示,若电子设备接收到用户对触摸屏上的某一位置(如位置A)的触摸事件,由于护眼宝应用的显示窗口内的显示图层为不可信任显示图层,因此,电子设备会将该触摸事件丢弃,不会分发至与触摸事件对应的显示窗口。这样一来,就会导致电子设备无法响应用户在位置A输入的触摸事件,从而造成冻屏的现象。
在一些实施例中,在护眼宝应用启动后全屏显示淡黄色的遮罩层的情况下,电子设备无法响应用户在触摸屏上任意位置处输入的触摸事件。
本申请实施例提供一种冻屏处理方法,应用于电子设备中,该方法能够解决电子设备出现冻屏的问题。示例性的,当电子设备检测到触摸事件对应的显示窗口上方存在具有遮挡行为的显示图层时,电子设备确定该显示图层对应的应用,并关闭该应用的进程。
其中,具有遮挡行为的显示图层包括:该显示图层为不可信任显示图层;或者,该显示图层的透明度大于或等于透明度阈值。
示例性的,本申请实施例提供的冻屏处理方法可以应用于具有触摸屏的电子设备中,该电子设备例如可以为手机、平板电脑、个人计算机(personal computer,PC)、个人数字助理(personal digital assistant,PDA)、智能手表、上网本、可穿戴电子设备、增强现实技术(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、车载设备、智能汽车、智能音响等电子设备中,本申请实施例对此不做任何限制。
图2为本申请实施例提供的一种电子设备的结构示意图。
如图2所示,电子设备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等。
可以理解的是,本实施例示意的结构并不构成对电子设备100的具体限定。在另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
存储器用于存储指令和数据。在一些实施例中,存储器可以是随机存取存储器(random access memory,RAM),只读存储器(read-only memory,ROM),通用闪存存储器(universal flash storage,UFS),嵌入式多媒体卡(embedded multi media card,eMMC),NAND闪存、固态硬盘(solid state disk或solid state drive,SSD)、机械硬盘等器件。
处理器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)接口等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备的结构限定。在另一些实施例中,电子设备也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
电子设备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),Mini-LED,Micro-OLED,Micro-OLED,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。
电子设备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等格式的图像信号。在一些实施例中,电子设备可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音频,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备的各种功能应用以及数据处理。例如,在本申请实施例中,处理器110可以通过执行存储在内部存储器121中的指令,内部存储器121可以包括存储程序区和存储数据区。
其中,存储程序区可存储操作***,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flashstorage,UFS)等。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口195用于连接SIM卡。SIM卡可以通过***SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备的接触和分离。电子设备可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或硬件和软件组合实现。
为了使得本申请的技术方案更加清楚,易于理解,下面结合电子设备100的软件架构对本申请实施例的方法进行示例说明。
图3为本申请实施例的电子设备100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android™分为五层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和***库,硬件抽象层(hardwareabstraction layer,HAL)、内核层以及驱动层。应理解:本文以Android™***举例来说明,在其他操作***中(例如iOS™***等),只要各个功能模块实现的功能和本申请的实施例类似也能实现本申请的方案。
应用程序层可以包括一系列应用程序包(Android application package,APK)。
如图3所示,应用程序层可以安装各种应用。如通话、备忘录、浏览器、联系人、图库、日历、地图、蓝牙、音乐、视频、短信息等应用。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
例如,应用程序框架层可以包括窗口管理器,活动管理器,内容提供器,视图***,资源管理器,通知管理器等,本申请实施例对此不作任何限制。
例如,上述窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。上述活动管理器用于管理各个应用程序的生命周期以及导航回退功能,负责Android的主线程创建,各个应用程序的生命周期的维护。上述内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话薄等。上述视图***可用于构建应用程序的显示界面。每个显示界面可以由一个或多个控件组成。一般而言,控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、微(Widget)件等界面元素。上述资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。上述通知管理器使用应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在***顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,振动,指示灯闪烁等。
在本申请实施例中,应用程序框架层还包括输入模块(input)和管控模块。输入模块用于分发触摸事件;管控模块用于对不可信任显示图层对应的应用进行处理。应用程序框架层还包括活动管理器和ANR管理模块。ANR管理模块用于弹出ANR提示框。
如图3所示,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绘图的绘图引擎。
硬件抽象层是位于内核层与硬件之间的接口层,可以用于将硬件抽象化。
内核层位于硬件抽象层之下,是硬件和软件之间的层。内核层至少包括显示驱动,摄像头驱动、音频驱动,传感器驱动等,本申请实施例对此不作任何限制。
结合图3所示,在一些实施例中,在电子设备每次加载显示界面时,电子设备通过窗口管理器将当前显示界面的所有显示窗口中,每个显示窗口对应的显示图层的属性信息发送至图像合成***(如surface flinger);图像合成***接收到窗口管理器发送的每个显示窗口对应的显示图层的属性信息之后,再将每个显示窗口对应的显示图层的属性信息发送至输入模块。之后,输入模块管理每个显示窗口对应的显示图层的属性信息。
示例性的,在输入模块中包括有IputWindowHandle对象,输入模块可以通过IputWindowHandle对象管理有所有显示图层的属性信息。在此基础上,输入模块可以从IputWindowHandle对象中,获取当前显示界面的所有显示图层的属性信息。其中,每个显示图层的属性信息包括透明度、图层类型、图层大小、图层可见度、图层名称以及图层UID(user ID)等。需要说明的是,当电子设备设置图层可见度为可见时,该图层对用户可见;当电子设备设置图层可见度为不可见时,该图层对用户不可见。
需要说明的是,由于一个显示窗口管理一个显示图层,因此显示图层对应的属性信息也可以为显示窗口对应的属性信息。
后续,输入模块接收用户输入的触摸事件,输入模块根据触摸事件对应的位置信息(如触摸坐标)和每个显示窗口对应的显示图层的属性信息,确定第一显示窗口。其中,第一显示窗口对应第一显示图层。
在输入模块确定第一显示窗口之后,输入模块获取到当前显示界面对应的所有显示图层的属性信息,输入模块根据所有显示图层的属性信息,判断所有显示图层中是否存在第二显示图层遮挡了第一显示图层。若所有显示图层中存在第二显示图层遮挡了第一显示图层,则输入模块根据第二显示图层的属性信息,确定第二显示图层对应的第一应用。之后,输入模块通知窗口管理器第二显示图层遮挡第一显示图层,并向窗口管理器发送第一应用的应用包名。在窗口管理器接收到输入模块下发的第二显示图层遮挡了第一显示图层的消息以及第一应用的应用包名之后,窗口管理器向管控模块发送第二显示图层遮挡了第一显示图层的消息,以及第一应用的应用包名。管控模块接收窗口管理器发送的第二显示图层遮挡了第一显示图层的消息之后,根据第一应用的应用包名,关闭第一应用的进程。
在一些实施例中,在管控模块关闭第一应用的进程之后,管控模块从包管理服务(package manage service,PMS)查询第一应用是否具有悬浮窗权限。若管控模块从包管理服务中查询到第一应用具有悬浮窗权限,则管控模块触发电子设备显示第一提示信息,该第一提示信息用于向用户提示第一应用存在遮挡行为。
结合图3所示,在另一些实施例中,在电子设备每次加载显示界面时,电子设备通过窗口管理器将当前显示界面的所有显示窗口中,每个显示窗口对应的显示图层的属性信息发送至图像合成***(如surface flinger);图像合成***接收到窗口管理器发送的每个显示窗口对应的显示图层的属性信息之后,再将每个显示窗口对应的显示图层的属性信息发送至输入模块。之后,输入模块管理每个显示窗口对应的显示图层的属性信息。
示例性的,在输入模块中包括有IputWindowHandle对象,输入模块可以通过IputWindowHandle对象管理有所有显示图层的属性信息。在此基础上,输入模块可以从IputWindowHandle对象中,获取当前显示界面的所有显示图层的属性信息。其中,每个显示图层的属性信息包括透明度、图层类型、图层大小、图层可见度、图层名称以及图层UID(user ID)等。需要说明的是,当电子设备设置图层可见度为可见时,该图层对用户可见;当电子设备设置图层可见度为不可见时,该图层对用户不可见。
需要说明的是,由于一个显示窗口管理一个显示图层,因此显示图层对应的属性信息也可以为显示窗口对应的属性信息。
后续,输入模块接收用户输入的触摸事件,输入模块根据触摸事件对应的位置信息(如触摸坐标)和每个显示窗口对应的显示图层的属性信息,确定第一显示窗口。其中,第一显示窗口对应第一显示图层。
在输入模块确定第一显示窗口之后,输入模块获取到当前显示界面对应的所有显示图层的属性信息,输入模块根据所有显示图层的属性信息,判断所有显示图层中是否存在第二显示图层遮挡了第一显示图层。若所有显示图层中存在第二显示图层遮挡了第一显示图层,则输入模块根据第二显示图层的属性信息,确定第二显示图层对应的第一应用。之后,输入模块通知活动管理器第一应用产生了应用程序不响应,即第一应用产生了ANR;并且,输入模块还通知活动管理器第一应用产生ANR的原因:如第二显示图层遮挡了第一显示图层,触摸事件无法分发至第一显示图层。以及输入模块向活动管理器发送第一应用的应用包名。
后续,活动管理器向ANR管理模块发送第一应用产生ANR的原因以及第一应用的应用包名;ANR管理模块基于ANR原因,触发电子设备显示第二提示信息。其中,第二提示信息用于提示用户关闭第一应用的进程;或者,第二提示信息用户提示用户卸载第一应用。
以上结合软件架构和硬件结构对本申请实施例进行了介绍,下面结合说明书附图对本申请实施例的技术方案进行详细描述。
首先,需要说明的是,在电子设备检测到触摸事件之后,若触摸事件对应的显示窗口上方存在具有遮挡行为的显示图层,电子设备将该触摸事件丢弃,不会分发至对应的显示窗口。这样一来,就会导致该显示窗口所在触摸屏上的区域无法响应用户输入的触摸事件,从而造成冻屏的现象。基于此,本申请实施例可以在电子设备确定触摸事件对应的显示窗口上方存在具有遮挡行为的显示图层时,电子设备确定该显示图层对应的应用,并关闭该应用的进程。
为了便于理解,下面结合图3所示电子设备的软件架构示意图,对本申请实施例提供的方法中涉及的各个模块之间交互的过程进行说明。其中,如图3所示,***可以包括:输入模块、窗口管理器、活动管理器、管控模块、ANR管理模块。
在一些实施例中,结合图3,如图4所示,本申请实施例提供的冻屏处理方法可以包括S1-S8。
S1、窗口管理器将当前显示界面的所有显示窗口中,每个显示窗口对应的显示图层的属性信息发送至输入模块。
示例性的,在电子设备每次加载显示界面时,电子设备通过窗口管理器将当前显示界面的所有显示窗口中,每个显示窗口对应的显示图层的属性信息发送至图像合成***;图像合成***接收到窗口管理器发送的每个显示窗口对应的显示图层的属性信息之后,再将每个显示窗口对应的显示图层的属性信息发送至输入模块。之后,输入模块管理每个显示窗口对应的显示图层的属性信息。
其中,每个显示图层的属性信息包括透明度、图层类型、图层大小、图层可见度、图层名称以及图层UID(user ID)等。
S2、输入模块接收用户在当前显示界面输入的触摸事件。
S3、输入模块根据触摸事件对应的位置信息和每个显示窗口对应的显示图层的属性信息,确定第一显示窗口。
其中,第一显示窗口对应第一显示图层。
S4、输入模块获取当前显示界面对应的所有显示图层的属性信息。
其中,每个显示图层的属性信息包括透明度、图层类型、图层大小、图层名称以及图层UID等。
在一些实施例中,输入模块中包括有IputWindowHandle对象,该IputWindowHandle对象里面封装有所有显示图层的属性信息。在此基础上,输入模块可以从IputWindowHandle对象中,获取当前显示界面(或称第一界面)对应的所有显示图层的属性信息。
S5、输入模块判断所有显示图层中是否存在第二显示图层遮挡了第一显示图层。
其中,第二显示图层遮挡第一显示图层包括:第二显示图层覆盖第一显示图层,第二显示图层对用户不可见,且第二显示图层为不可信任显示图层;或者,第二显示图层覆盖第一显示图层,第二显示图层对用户不可见,且第二显示图层的透明度大于或等于透明度阈值。示例性的,透明度阈值例如可以为0.8。
示例性的,输入模块依次遍历所有显示图层中的每个显示图层,判断是否存在第二显示图层遮挡了第一显示图层。
应理解,电子设备的显示界面是由多个显示图层叠加形成的。因此,电子设备通过输入模块可以依次由顶部到底部遍历所有显示图层中的每个显示图层,判断是否存在第二显示图层遮挡了第一显示图层。
在一些实施例中,如图5所示,假设显示界面对应的所有显示图层包括显示图层1、显示图层2、显示图层3、显示图层4以及显示图层5;并且,第一显示窗口包括的第一显示图层为显示图层1。在此基础上,电子设备可以按照显示图层的优先级,从低优先级到高优先级依次叠加显示图层。例如,电子设备从底部到顶部依次叠加显示图层。其中,位于底部(或称栈底)的显示图层(如显示图层1)的优先级最低,位于顶部(或称栈顶)的显示图层(如显示图层5)的优先级最高。
示例性的,电子设备通过输入模块可以由栈顶到栈底依次遍历所有显示图层,判断是否存在第二显示图层遮挡了第一显示图层。参考图5可以看出,输入模块首先判断显示图层5是否遮挡了显示图层1。若显示图层5未遮挡显示图层1,输入模块再判断显示图层4是否遮挡了显示图层1,以此类推,直到输入模块遍历至显示图层1上。
需要说明的是,若显示图层2、显示图层3、显示图层4以及显示图层5均未遮挡显示图层1,则输入模块将触摸事件分发至与显示图层1对应的显示窗口(如第一显示窗口)中。
在一些实施例中,针对每一个显示图层,输入模块判断该显示图层是否遮挡了第一显示图层的过程可以参考图6所示的各个步骤。示例性的,该过程可以包括:S1-1~S1-4。
需要说明的是,图6中以输入模块判断显示图层5是否遮挡第一显示图层为例进行示意。
S1-1、输入模块判断显示图层5是否覆盖第一显示图层。
示例性的,输入模块可以根据显示图层5的优先级和图层大小判断显示图层5是否覆盖第一显示图层。例如,当显示图层5的优先级高于第一显示图层,且显示图层5的大小大于或等于第一显示图层时,输入模块判断显示图层5覆盖第一显示图层。
需要说明的是,若显示图层5覆盖第一显示图层,则输入模块继续执行S1-2;若显示图层5未覆盖第一显示图层,则输入模块将触摸事件分发至与第一显示图层对应的第一显示窗口中。
S1-2、输入模块判断显示图层5是否为用户可见。
示例性的,输入模块可以根据显示图层5的可见度判断显示图层5是否为用户可见。
需要说明的是,若显示图层5为用户不可见,则输入模块继续执行S1-3;若显示图层5为用户可见,则输入模块将触摸事件分发至与第一显示图层对应的第一显示窗口中。
S1-3、输入模块判断显示图层5的图层类型是否为不可信任显示图层。
示例性的,若显示图层5的图层类型为不可信任显示图层时,则输入模块确定显示图层5遮挡了第一显示图层;若显示图层5的图层类型为可信任显示图层时,则输入模块继续执行S1-4。
S1-4、输入模块判断显示图层5的透明度是否大于或等于透明度阈值。
示例性的,若显示图层5的透明度大于或等于透明度阈值,则输入模块确定显示图层5遮挡了第一显示图层;若显示图层5的透明度小于透明度阈值,则输入模块将触摸事件分发至与第一显示图层对应的第一显示窗口中。
在一些实施例中,输入模块判断显示图层的透明度是否大于或等于透明度阈值包括:输入模块依次遍历所有显示图层,判断所有显示图层中是否包括透明度大于或等于透明度阈值的显示图层。例如,输入模块遍历显示图层5,获取显示图层5的透明度,并在数据对象(或称数据库)中保存显示图层5的透明度与图层名称的对应关系;之后,输入模块遍历显示图层4,获取显示图层4的透明度,并判断显示图层4的透明度是否大于显示图层5的透明度;若显示图层4的透明度大于显示图层5的透明度,则输入模块将数据对象中保存的透明度以及图层名称,更新为显示图层4的透明度以及图层名称;若显示图层4的透明度小于显示图层5的透明度,则输入模块保持数据对象中的透明度和图层名称不变。
后续,输入模块可按照上述步骤,依次遍历所有显示图层,最后输入模块判断数据对象中保存的透明度是否大于或等于透明度阈值;若数据对象中保存的透明度大于或等于透明度阈值,输入模块确定数据对象中保存的与透明度对应的显示图层的图层名称,确定该显示图层遮挡了第一显示图层。相应地,若数据对象中保存的透明度小于透明度阈值,则输入模块确定所有显示图层中不包括透明度大于或等于透明度阈值的显示图层,即所有显示图层中不存在第二显示图层遮挡第一显示图层。
这样一来,输入模块不需要判断所有显示图层中的每个显示图层的透明度是否大于或等于透明度阈值,有利于降低设备功耗。
S6、若所有显示图层中存在第二显示图层遮挡了第一显示图层,输入模块确定第二显示图层对应的第一应用。
应理解,若所有显示图层中未存在第二显示图层遮挡了第一显示图层,输入模块将触摸事件分发至与第一显示图层对应的第一显示窗口中。
S7、输入模块通知窗口管理器第二显示图层遮挡了第一显示图层,并发送第一应用的应用包名。
S8、窗口管理器通知管控模块关闭第一应用的进程。
综上所述,在本申请实施例中,当电子设备接收到触摸事件时,电子设备判断触摸事件对应的第一显示图层的上方是否存在第二显示图层遮挡了第一显示图层;若触摸事件对应的第一显示图层的上方存在第二显示图层遮挡了第一显示图层,则电子设备确定第二显示图层对应的第一应用;之后,电子设备关闭第一应用的进程。这样一来,由于电子设备在确定触摸事件对应的第一显示图层的上方存在第二显示图层遮挡了第一显示图层,电子设备及时的关闭了第二显示图层对应的第一应用的进程,从而可以界面电子设备出现冻屏的问题。
在另一些实施例中,结合图3,如图7所示,本申请实施例提供的冻屏处理方法可以包括A1-A8。
A1、窗口管理器将当前显示界面的所有显示窗口中,每个显示窗口对应的显示图层的属性信息发送至输入模块。
示例性的,在电子设备每次加载显示界面时,电子设备通过窗口管理器将当前显示界面的所有显示窗口中,每个显示窗口对应的显示图层的属性信息发送至图像合成***;图像合成***接收到窗口管理器发送的每个显示窗口对应的显示图层的属性信息之后,再将每个显示窗口对应的显示图层的属性信息发送至输入模块。之后,输入模块管理每个显示窗口对应的显示图层的属性信息。
其中,每个显示图层的属性信息包括透明度、图层类型、图层大小、图层可见度、图层名称以及图层UID(user ID)等。
A2、输入模块接收用户在当前显示界面输入的触摸事件。
A3、输入模块根据触摸事件对应的位置信息和每个显示窗口对应的显示图层的属性信息,确定第一显示窗口。
其中,第一显示窗口对应第一显示图层。
A4、输入模块获取当前显示界面对应的所有显示图层的属性信息。
其中,每个显示图层的属性信息包括透明度、图层类型、图层大小、图层名称以及图层UID等。
在一些实施例中,输入模块中包括有IputWindowHandle对象,该IputWindowHandle对象里面封装有所有显示图层的属性信息。在此基础上,输入模块可以从IputWindowHandle对象中,获取当前显示界面对应的所有显示图层的属性信息。
A5、输入模块判断所有显示图层中是否存在第二显示图层遮挡了第一显示图层。
其中,第二显示图层遮挡第一显示图层包括:第二显示图层覆盖第一显示图层,第二显示图层对用户可见,且第二显示图层为不可信任显示图层;或者,第二显示图层覆盖第一显示图层,第二显示图层对用户可见,且第二显示图层的透明度大于或等于透明度阈值。示例性的,透明度阈值例如可以为0.8。
需要说明的是,对于输入模块判断所有显示图层中是否存在第二显示图层遮挡了第一显示图层的举例说明,可以参考上述实施例,此处不再一一赘述。
A6、若所有显示图层中存在第二显示图层遮挡了第一显示图层,输入模块确定第二显示图层对应的第一应用。
应理解,若所有显示图层中未存在第二显示图层遮挡了第一显示图层,输入模块将触摸事件分发至与第一显示图层对应的第一显示窗口中。
A7、输入模块通知活动管理器第一应用产生了ANR。
示例性的,输入模块可以向活动管理器发送第一应用产生ANR的原因,以通知活动管理器第一应用产生了ANR。其中,第一应用产生ANR的原因可以为:第二显示图层遮挡了第一显示图层,触摸事件无法分发至第一显示窗口。
A8、活动管理器通知ANR管理模块弹出ANR提示框。
示例性的,ANR提示框例如可以为上述实施例中所述的第二提示信息。
在一些实施例中,活动管理器可以向ANR管理模块发送第一应用产生ANR的原因;ANR管理模块基于第一应用产生的ANR原因,弹出ANR提示框。示例性的,ANR提示框用于提示用户关闭第一应用的进程;或者提示用户卸载第一应用。
综上所述,由于此次冻屏并未触发crash以及watchdog(看门狗),因此现有的冻屏监控很难监控到这种冻屏的场景,因此在本申请实施例中,当电子设备接收到触摸事件时,电子设备判断触摸事件对应的第一显示图层的上方是否存在第二显示图层遮挡了第一显示图层;若触摸事件对应的第一显示图层的上方存在第二显示图层遮挡了第一显示图层,则电子设备确定第二显示图层对应的第一应用;之后,电子设备可以弹出ANR提示框,以提示用户是第一应用引起的冻屏的问题。这样,电子设备可以通过ANR提示框告知用户是第一应用引起的冻屏的问题。
由上述实施例可知,若电子设备确定触摸事件对应的第一显示图层的上方存在第二显示图层遮挡了第一显示图层,则电子设备确定第二显示图层对应的第一应用;之后,电子设备关闭第一应用的进程。但是,电子设备关闭第一应用的进程只能解决此次冻屏事件。基于此,本申请实施例的方法还包括:电子设备显示提示信息,该提示信息用于提示用户此次冻屏是由第一应用引起的。在此基础上,该提示信息还包括第一控件和第二控件;其中,第一控件用于提示用户关闭第一应用的悬浮窗功能,第二控件用于提示用户卸载第一应用。
示例性的,如图8所示,电子设备显示的提示信息的内容例如可以为:护眼宝应用引起冻屏问题。由图8可以看出,该提示信息还包括:关闭悬浮窗控件和卸载应用控件。在此基础上,电子设备响应于用户对关闭悬浮窗控件的操作,电子设备关闭护眼宝应用的悬浮窗功能;或者,电子设备响应于用户对卸载应用控件的操作,电子设备卸载护眼宝应用。
在该实施例中,电子设备通过提示信息可以关闭第一应用的悬浮窗功能,或者卸载第一应用,这样一来,可以避免电子设备再次出现冻屏的问题,提高了用户体验。
本申请实施例提供了一种电子设备,该电子设备可以包括:显示屏(如触摸屏)、存储器和一个或多个处理器。该显示屏、存储器和处理器耦合。该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令。当处理器执行计算机指令时,电子设备可执行上述方法实施例中电子设备执行的各个功能或者步骤。该电子设备的结构可以参考图2所示的电子设备100的结构。
本申请实施例还提供一种芯片***,如图9所示,该芯片***1800包括至少一个处理器1801和至少一个接口电路1802。其中,处理器1801可以是上述实施例中图2所示的处理器110。接口电路1802例如可以为处理器110和外部存储器之间的接口电路;或者为处理器110和内部存储器121之间的接口电路。
上述处理器1801和接口电路1802可通过线路互联。例如,接口电路1802可用于从其它装置(例如电子设备的存储器)接收信号。又例如,接口电路1802可用于向其它装置(例如处理器1801)发送信号。示例性的,接口电路1802可读取存储器中存储的指令,并将该指令发送给处理器1801。当所述指令被处理器1801执行时,可使得电子设备执行上述实施例中电子设备执行的各个步骤。当然,该芯片***还可以包含其他分立器件,本申请实施例对此不作具体限定。
本申请实施例还提供一种计算机存储介质,该计算机存储介质包括计算机指令,当所述计算机指令在电子设备上运行时,使得该电子设备执行上述方法实施例中电子设备执行的各个功能或者步骤。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述方法实施例中电子设备执行的各个功能或者步骤。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种冻屏处理方法,其特征在于,包括:
当电子设备接收到用户在第一界面上输入的触摸事件时,所述电子设备确定所述触摸事件对应的第一显示窗口;所述第一显示窗口中的显示画面对应第一显示图层;
所述电子设备获取所述第一界面上的所有显示图层中每个显示图层的属性信息;所述属性信息至少包括以下信息中的一种或多种的组合:透明度、图层类型、图层大小、图层可见度以及图层名称;
所述电子设备判断所有显示图层中是否存在第二显示图层遮挡所述第一显示图层;其中,所述第二显示图层遮挡所述第一显示图层用于使所述电子设备丢弃所述触摸事件;
若所述所有显示图层中存在所述第二显示图层遮挡所述第一显示图层,所述电子设备关闭所述第二显示图层对应的第一应用的进程。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述电子设备关闭所述第一应用的悬浮窗权限。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述电子设备卸载所述第一应用。
4.根据权利要求3所述的方法,其特征在于,在所述电子设备关闭所述第二显示图层对应的第一应用的进程之前,所述方法还包括:
所述电子设备显示提示信息;所述提示信息用于向用户提示所述第一应用引起冻屏;所述冻屏为所述电子设备不响应用户输入的触摸事件;
其中,所述提示信息包括第一控件;所述电子设备关闭所述第二显示图层对应的第一应用的进程,包括:
所述电子设备响应于用户对所述第一控件的操作,关闭所述第二显示图层对应的第一应用的进程。
5.根据权利要求4所述的方法,其特征在于,所述提示信息还包括第二控件和第三控件;
所述电子设备关闭所述第一应用的悬浮窗权限,包括:所述电子设备响应于用户对所述第二控件的操作,关闭所述第一应用的悬浮窗权限;
所述电子设备卸载所述第一应用,包括:所述电子设备响应于用户对所述第三控件的操作,卸载所述第一应用。
6.根据权利要求1所述的方法,其特征在于,所述第二显示图层遮挡所述第一显示图层包括:
所述第二显示图层覆盖所述第一显示图层、所述第二显示图层为用户不可见的显示图层、且所述第二显示图层为不可信任图层;所述不可信任图层为所述电子设备预先设置的所述触摸事件不可穿透的显示图层;或者,
所述第二显示图层覆盖所述第一显示图层、所述第二显示图层为用户不可见的显示图层、且所述第二显示图层的透明度大于或等于透明度阈值。
7.根据权利要求1所述的方法,其特征在于,所述电子设备判断所有显示图层中是否存在第二显示图层遮挡所述第一显示图层,包括:
所述电子设备按照所述所有显示图层的优先级,遍历优先级高于所述第一显示图层的优先级中的每个显示图层,判断所述所有显示图层中是否存在所述第二显示图层遮挡所述第一显示图层。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述所有显示图层中未存在所述第二显示图层遮挡所述第一显示图层,所述电子设备将所述触摸事件分发至所述第一显示窗口,并执行所述触摸事件的触摸指令。
9.一种电子设备,其特征在于,包括:触摸屏、存储器和一个或多个处理器;所述触摸屏、所述存储器和所述处理器耦合;所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;当所述处理器执行所述计算机指令时,使得所述电子设备执行如权利要求1-8任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,包括计算机指令;当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210798657.1A CN114879896B (zh) | 2022-07-08 | 2022-07-08 | 一种冻屏处理方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210798657.1A CN114879896B (zh) | 2022-07-08 | 2022-07-08 | 一种冻屏处理方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114879896A true CN114879896A (zh) | 2022-08-09 |
CN114879896B CN114879896B (zh) | 2023-05-12 |
Family
ID=82683131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210798657.1A Active CN114879896B (zh) | 2022-07-08 | 2022-07-08 | 一种冻屏处理方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114879896B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110246916A1 (en) * | 2010-04-02 | 2011-10-06 | Nokia Corporation | Methods and apparatuses for providing an enhanced user interface |
US20140372938A1 (en) * | 2013-06-14 | 2014-12-18 | Lg Electronics Inc. | Mobile terminal and method of controlling the mobile terminal |
CN110489043A (zh) * | 2019-07-31 | 2019-11-22 | 华为技术有限公司 | 一种悬浮窗口的管理方法及相关装置 |
CN110703961A (zh) * | 2019-08-26 | 2020-01-17 | 北京达佳互联信息技术有限公司 | 蒙层显示方法、装置、电子设备和存储介质 |
CN111061410A (zh) * | 2018-10-16 | 2020-04-24 | 华为技术有限公司 | 一种冻屏处理方法及终端 |
CN111273841A (zh) * | 2020-02-11 | 2020-06-12 | 天津车之家数据信息技术有限公司 | 一种页面处理方法及移动终端 |
CN111309429A (zh) * | 2020-02-26 | 2020-06-19 | 维沃移动通信有限公司 | 一种显示方法及电子设备 |
CN112835472A (zh) * | 2021-01-22 | 2021-05-25 | 青岛海信移动通信技术股份有限公司 | 通信终端及显示方法 |
CN113282361A (zh) * | 2021-04-21 | 2021-08-20 | 荣耀终端有限公司 | 一种窗口的处理方法及电子设备 |
CN113448442A (zh) * | 2021-07-12 | 2021-09-28 | 交互未来(北京)科技有限公司 | 一种大屏幕防误触方法、装置、存储介质和设备 |
-
2022
- 2022-07-08 CN CN202210798657.1A patent/CN114879896B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110246916A1 (en) * | 2010-04-02 | 2011-10-06 | Nokia Corporation | Methods and apparatuses for providing an enhanced user interface |
US20140372938A1 (en) * | 2013-06-14 | 2014-12-18 | Lg Electronics Inc. | Mobile terminal and method of controlling the mobile terminal |
CN111061410A (zh) * | 2018-10-16 | 2020-04-24 | 华为技术有限公司 | 一种冻屏处理方法及终端 |
CN110489043A (zh) * | 2019-07-31 | 2019-11-22 | 华为技术有限公司 | 一种悬浮窗口的管理方法及相关装置 |
CN110703961A (zh) * | 2019-08-26 | 2020-01-17 | 北京达佳互联信息技术有限公司 | 蒙层显示方法、装置、电子设备和存储介质 |
CN111273841A (zh) * | 2020-02-11 | 2020-06-12 | 天津车之家数据信息技术有限公司 | 一种页面处理方法及移动终端 |
CN111309429A (zh) * | 2020-02-26 | 2020-06-19 | 维沃移动通信有限公司 | 一种显示方法及电子设备 |
CN112835472A (zh) * | 2021-01-22 | 2021-05-25 | 青岛海信移动通信技术股份有限公司 | 通信终端及显示方法 |
CN113282361A (zh) * | 2021-04-21 | 2021-08-20 | 荣耀终端有限公司 | 一种窗口的处理方法及电子设备 |
CN113448442A (zh) * | 2021-07-12 | 2021-09-28 | 交互未来(北京)科技有限公司 | 一种大屏幕防误触方法、装置、存储介质和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114879896B (zh) | 2023-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112269527B (zh) | 应用界面的生成方法及相关装置 | |
CN113805743B (zh) | 切换显示窗口的方法和电子设备 | |
CN112767231B (zh) | 图层合成方法和设备 | |
US20230418696A1 (en) | Method for performing drawing operation by application and electronic device | |
CN116501210B (zh) | 一种显示方法、电子设备及存储介质 | |
CN113132526B (zh) | 一种页面绘制方法及相关装置 | |
CN111543042A (zh) | 通知消息的处理方法及电子设备 | |
CN118276722A (zh) | 窗口的显示方法和电子设备 | |
CN112732434A (zh) | 一种应用管理方法及装置 | |
CN115145447A (zh) | 一种窗口的显示方法以及相关装置 | |
CN115801943B (zh) | 显示方法、电子设备及存储介质 | |
CN115017534A (zh) | 文件处理权限控制方法、装置及存储介质 | |
CN115640083A (zh) | 一种可提升动效性能的屏幕刷新方法及设备 | |
CN115904297A (zh) | 屏幕显示检测方法、电子设备及存储介质 | |
CN111381996A (zh) | 内存异常处理方法及装置 | |
CN114879896B (zh) | 一种冻屏处理方法、电子设备及存储介质 | |
WO2023005751A1 (zh) | 渲染方法及电子设备 | |
CN113805772B (zh) | 一种动态响应的方法、电子设备及存储介质 | |
CN113805771B (zh) | 一种通知提醒方法、终端设备及计算机可读存储介质 | |
CN116672707B (zh) | 生成游戏预测帧的方法和电子设备 | |
CN116055715B (zh) | 编解码器的调度方法及电子设备 | |
CN116055738B (zh) | 视频压缩方法及电子设备 | |
WO2024109481A1 (zh) | 窗口控制方法及电子设备 | |
CN117009023B (zh) | 显示通知信息的方法及相关装置 | |
CN118113190A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |