本申请提供一种图层的处理方法、电子设备及可读存储介质,涉及操作系统技术领域;该方法可以遍历系统中的图层资源,得到各个应用的图层资源的数量,在存在图层资源的数量较多的应用的情况下,杀死该图层资源较多的应用的进程,该应用的进程被杀死后,将释放该应用的图层资源;也可以遍历系统中的窗口对象,得到各个应用的窗口对象的数量,在存在窗口对象的数量较多的应用的情况下,杀死该窗口对象较多的应用的进程,该应用的进程被杀死后,将释放该应用的图层资源;通过该方法可以降低由于图层资源被耗尽导致的应用卡死、系统重启等现象。系统重启等现象。系统重启等现象。
【技术实现步骤摘要】
一种图层的处理方法、电子设备及可读存储介质
[0001]本申请涉及操作系统
,尤其涉及一种图层的处理方法、电子设备及可读存储介质。
技术介绍
[0002]随着电子设备的智能化程度越来越高,电子设备提供的功能越来越多。相应的,电子设备中安装的应用也越来越多,这些应用可以通过界面向用户展示功能信息。应用在通过电子设备的显示屏显示应用界面时,需要申请图层资源。
[0003]目前,有一些应用在开发时不太规范,或者开发者处于其他考虑,导致开发的应用在申请图层资源并且不再使用该图层资源的情况下,并未释放相应的图层资源。这样,电子设备中的图层资源可能被消耗用尽,将导致应用卡死或者系统重启等现象。
技术实现思路
[0004]本申请提供一种图层的处理方法、电子设备及可读存储介质,可以降低由于图层被消耗导致的应用卡死、系统重启等现象。
[0005]为达到上述目的,本申请采用如下技术方案:
[0006]第一方面,本申请提供一种图层的处理方法,该方法包括:
[0007]检测到第一应用申请创建图层资源,图层资源包括:容器类型图层或framebuffer类型图层;
[0008]查找是否存在申请创建的窗口对象的数量大于或等于第一阈值的第二应用;
[0009]若查找到存在申请创建的窗口对象的数量大于或等于窗口对象对应的阈值的第二应用,则杀死第二应用的进程,其中,响应于杀死所述第二应用的进程,第二应用的容器类型图层和framebuffer类型图层被释放。
[0010]本申请中,在有应用申请创建容器类型图层或framebuffer类型图层时,可以查看系统中是否有应用申请的窗口对象的数量大于或等于窗口对象对应的阈值,若存在这类应用,则这类应用可以视为不规范应用,将这类应用的进程杀死。另外,第一应用和第二应用可以相同,也可以不同。通过在每次申请容器类型图层或framebuffer类型图层时,查找不规范应用,并将查找到的不规范应用的进程杀死的方式可以释放不规范应用的图层资源,从而降低由于图层资源被耗尽导致的应用卡死、系统重启等现象。
[0011]作为第一方面的一种实现方式,在检测到第一应用申请创建图层资源之后,该方法还包括:
[0012]查找是否存在申请创建的容器类型图层和/或framebuffer类型图层的数量大于或等于第二阈值的第二应用;
[0013]若查找到存在申请创建的容器类型图层和/或framebuffer类型图层的数量大于或等于第二阈值的第二应用,则杀死第二应用的进程。
[0014]本申请中,将不规范应用统称为第二应用。除了可以通过窗口对象的数量确定不
规范应用,还可以通过图层资源的数量确定不规范应用。当然,可以通过容器类型图层的数量确定不规范应用,也可以通过framebuffer类型图层的数量确定不规范应用,还可以通过容器类型图层和framebuffer类型图层的数量之和确定不规范应用。
[0015]作为第一方面的一种实现方式,在查找是否存在申请创建的窗口对象的数量大于或等于第一阈值的第二应用之前,该方法还包括:
[0016]遍历系统中的窗口对象分别对应的应用,得到各应用申请创建的窗口对象的数量。
[0017]本申请中,可以通过遍历系统中的窗口对象分别对应的应用的方式,得到各个应用申请创建的窗口对象的数量,从而可以查找申请创建的窗口对象的数量大于或等于第一阈值的第二应用。
[0018]作为第一方面的另一种实现方式,遍历系统中的窗口对象分别对应的应用之前,该方法还包括:
[0019]确定系统中的容器类型图层和framebuffer类型图层的数量之和大于或等于第三阈值,第三阈值小于系统允许的容器类型图层和framebuffer类型图层的数量之和的最大上限。
[0020]本申请中,通过第三阈值的方式,使得在系统中的容器类型图层和framebuffer类型图层的数量之和大于或等于该第三阈值时,再遍历系统中的窗口对象分别对应的应用,可以降低遍历频率,降低系统功耗。
[0021]作为第一方面的另一种实现方式,该方法还包括:
[0022]确定系统中的容器类型图层和framebuffer类型图层的数量之和小于第三阈值;
[0023]创建第一应用申请创建的图层资源。
[0024]本申请中,在系统中的容器类型图层和framebuffer类型图层的数量之和小于该阈值的情况下,可以创建第一应用申请创建的容器类型图层或framebuffer类型图层,无需遍历系统中的窗口对象分别对应的应用,降低遍历频率,降低系统功耗。
[0025]作为第一方面的另一种实现方式,若查找到存在申请创建的窗口对象的数量大于或等于第一阈值的第二应用,则杀死第二应用的进程,包括:
[0026]若查找到存在申请创建的窗口对象的数量大于或等于第一阈值的第二应用,则记录第二应用的标识;
[0027]在检测到有界面切换时,基于记录的第二应用的标识,查看是否有第二应用在后台运行;
[0028]若有第二应用在后台运行,则杀死在后台运行的第二应用的进程。
[0029]本申请中,在查找到存在申请创建的窗口对象的数量大于或等于第一阈值的第二应用时,可以先记录该第二应用的标识,等待该第二应用在后台运行时,再杀死该应用,可以避免第一应用和第二应用相同时,一边杀死该第二应用的进程,一边又为该第二应用创建申请的容器类型图层或framebuffer类型图层的情况。
[0030]作为第一方面的另一种实现方式,在确定系统中的容器类型图层和framebuffer类型图层的数量之和大于或等于第三阈值之后,该方法包括:
[0031]判断系统中的容器类型图层和framebuffer类型图层的数量之和是否小于最大上限;
[0032]若系统中的容器类型图层和framebuffer类型图层的数量之和不小于最大上限,则发出创建失败的信息;
[0033]若系统中的容器类型图层和framebuffer类型图层的数量之和小于最大上限,则创建第一应用申请创建的图层资源。
[0034]本申请中,在确定系统中的容器类型图层和framebuffer类型图层的数量之和大于或等于第三阈值之后,一方面需要遍历系统中的所述窗口对象分别对应的应用,得到各应用申请创建的所述窗口对象的数量,从而查找是否存在申请创建的窗口对象的数量大于或等于所述窗口对象对应的第一阈值的第二应用;另一方便还可以走系统的原生流程:判断系统中的容器类型图层和framebuffer类型图层的数量之和是否小于最大上限,从而创建申请的图层资源,或者发出创建失败的信息。当然,其中,遍历系统中的所述窗口对象分别对应的应用,得到各应用申请创建的所述窗口对象的数量,从而查找是否存在申请创建的窗口对象的数量大于或等于所述窗口对象对应的第一阈值的第二应用的过程可以以异步任务的形式执行。在以异步任务执行时,通常创建申请的容器类型图层和framebuffer类型图层的执行时长本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种图层的处理方法,其特征在于,包括:检测到第一应用申请创建图层资源,所述图层资源包括:容器类型图层或framebuffer类型图层;查找是否存在申请创建的窗口对象的数量大于或等于第一阈值的第二应用;若查找到存在申请创建的窗口对象的数量大于或等于所述第一阈值的第二应用,则杀死所述第二应用的进程,其中,响应于杀死所述第二应用的进程,所述第二应用的所述容器类型图层和所述framebuffer类型图层被释放。2.如权利要求1所述的方法,其特征在于,在检测到第一应用申请创建图层资源之后,所述方法还包括:查找是否存在申请创建的容器类型图层和/或framebuffer类型图层的数量大于或等于第二阈值的第二应用;若查找到存在申请创建的容器类型图层和/或framebuffer类型图层的数量大于或等于所述第二阈值的第二应用,则杀死所述第二应用的进程。3.如权利要求1或2所述的方法,其特征在于,在查找是否存在申请创建的窗口对象的数量大于或等于第一阈值的第二应用之前,所述方法还包括:遍历系统中的所述窗口对象分别对应的应用,得到各应用申请创建的所述窗口对象的数量。4.如权利要求3所述的方法,其特征在于,所述遍历系统中的所述窗口对象分别对应的应用之前,所述方法还包括:确定所述系统中的所述容器类型图层和所述framebuffer类型图层的数量之和大于或等于第三阈值,所述第三阈值小于所述系统允许的所述容器类型图层和所述framebuffer类型图层的数量之和的最大上限。5.如权利要求4所述的方法,其特征在于,所述方法还包括:确定所述系统中的所述容器类型图层和所述framebuffer类型图层的数量之和小于所述第三阈值;创建所述第一应用申请创建的所述图层资源。6.如权利要求1至5任一项所述的方法,其特征在于,所述若查找到存在申请创建的窗口对象的数量大于或等于第一阈值的第二应用,则杀死所述第二应用的进程,包括:若查找到存在申请创建的所述窗口对象的数量大于或等于所述第一阈值的第二应用,则记录所述第二应用的标识;在检测到有界面切换时,基于记录的所述第二应用的标识,查看是否有所述第二应用在后台运行;若有所述第二应用在后台运行,则杀死在后台运行的所述第二应用的进程。7.如权利要求4所述的方法,其特征在于,在确定所述系统中的所述容器类型图层和所述framebuffer类型图层的数量之和大于或等于第三阈值之后,所述方法包括:判断所述系统中的所述容器类型图层和所述framebuffer类型图层的数量之和是否小于所述最大上限;若所述系统中的所述容器类型图层和所述framebuffer类型图层的数量之和不小于所述最大上限,则发出创建失败的信息;
若所述系统中的所述容器类型...
【专利技术属性】
技术研发人员:祁长乐,
申请(专利权)人:荣耀终端有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。