一种应用程序的信息清理方法、系统、设备及介质与流程

文档序号:31661158发布日期:2022-09-27 23:05阅读:53来源:国知局
一种应用程序的信息清理方法、系统、设备及介质与流程

1.本发明涉及计算机技术领域,尤其涉及一种应用程序的信息清理方法、系统、设备及介质。


背景技术:

2.安卓(android)应用程序在运行过程中,存在由于绑定服务或者注册监听的实现流程不规范,会导致注册的监听者信息发生泄漏。从而出现android虚拟机虚全局引用(global weak reference),进程文件描述符(file descriptor,fd)等可用资源超过限制,导致应用程序崩溃、闪退以及android系统重启等稳定性类问题的发生,并且问题出现后分析难度较大。


技术实现要素:

3.本发明的目的在于提供一种应用程序的信息清理方法、系统、设备及介质,避免应用程序的崩溃或系统的重启,提升应用程序和系统的稳定性。
4.为实现上述目的,第一方面,本发明提供了一种应用程序的信息清理方法,包括:获取应用程序中存在的各个监听者的数量;获取所述应用程序在运行状态下承载所述监听者的阈值;当所述监听者的数量大于所述阈值时,根据所述监听者的类名进行排序;获取排序前n位的所述监听者的类名,n为正整数;以及获取每类所述监听者的使用度;根据所述监听者的类名和所述监听者的使用度,对所述监听者进行清理。
5.本发明提供的应用程序的信息清理方法的有益效果在于:通过获取应用程序中存在的各个监听者的数量,并与所述应用程序在运行状态下承载所述监听者的阈值进行比较,当所述监听者的数量大于所述阈值时,根据所述监听者的类名进行排序,获取排序前n位的所述监听者的类名,n为正整数;以及获取每类所述监听者的使用度,通过所述监听者的类名和所述监听者的使用度,对所述监听者进行清理,实现了自动清理保持应用程序和系统的稳定运行,避免应用程序的崩溃或系统的重启。
6.可选的,所述阈值根据所述应用程序中剩余的可用资源量实时计算得到。其中,所述阈值与所述应用程序剩余的可用资源量呈正相关,所述可用资源量包括虚全局引用和文件描述符。其有益效果在于:通过将阈值根据所述应用程序中剩余的可用资源量实时计算得到,避免阈值设置过高影响到对监听者的清理,进一步提高了系统的稳定性。
7.可选的,n的具体数值根据所述应用程序中资源的使用度来确定。其有益效果在于:根据所述应用程序中资源的使用度来合理确定n的具体数值。
8.可选的,所述根据所述监听者的类名和所述监听者的使用度,对所述监听者进行清理,包括:采用lru算法对所述监听者进行清理;对所述监听者进行清理之后,包括:执行所述应用程序与系统的绑定服务或所述监听者的注册。
9.可选的,当所述监听者的数量小于所述阈值时,执行所述应用程序与系统的绑定服务或所述监听者的注册。
10.在第二方面,本发明实施例提供一种应用程序的信息清理系统,包括:获取模块,用于获取应用程序中存在的各个监听者的数量;所述获取模块,还用于获取所述应用程序在运行状态下承载所述监听者的阈值;处理模块,用于当所述监听者的数量大于所述阈值时,根据所述监听者的类名进行排序;所述获取模块还用于获取排序前n位的所述监听者的类名,n为正整数,以及获取每类所述监听者的使用度;清理模块,用于根据所述监听者的类名和所述监听者的使用度,对所述监听者进行清理。
11.本发明提供的应用程序的信息清理系统的有益效果在于:通过获取模块获取应用程序中存在的各个监听者的数量,并与所述应用程序在运行状态下承载所述监听者的阈值进行比较,当所述监听者的数量大于所述阈值时,根据所述监听者的类名进行排序,获取排序前n位的所述监听者的类名,n为正整数;以及获取每类所述监听者的使用度,通过所述监听者的类名和所述监听者的使用度,对所述监听者进行清理,实现了自动清理保持应用程序和系统的稳定运行,避免应用程序的崩溃或系统的重启。
12.可选的,还包括计算模块,所述计算模块根据所述应用程序中剩余的可用资源量实时计算得到所述阈值;其中,所述阈值与所述应用程序剩余的可用资源量呈正相关;所述可用资源量包括虚全局引用和文件描述符。其有益效果在于:通过将阈值根据所述应用程序中剩余的可用资源量实时计算得到,避免阈值设置过高影响到对监听者的清理,进一步提高了系统的稳定性。
13.可选的,所述计算模块,还用于根据所述应用程序中资源的使用度来计算出n的具体数值。其有益效果在于:根据所述应用程序中资源的使用度来合理确定n的具体数值。
14.可选的,所述清理模块,用于根据所述监听者的类名和所述监听者的使用度,对所述监听者进行清理,包括:采用lru算法对所述监听者进行清理。对所述监听者进行清理之后,所述处理模块执行所述应用程序与系统的绑定服务或所述监听者的注册。
15.可选的,所述处理模块,还用于当所述监听者的数量小于所述阈值时,执行所述应用程序与系统的绑定服务或所述监听者的注册。
16.在第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的方法步骤。
17.第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的方法步骤。
附图说明
18.图1为本发明提供的实施例应用程序的信息清理方法的流程图;
19.图2为本发明提供的实施例应用程序的信息清理方法的又一流程图;
20.图3为本发明提供的实施例应用程序的信息清理系统的结构示意图。
具体实施方式
21.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造
性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另外定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本文中使用的“包括”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
22.针对现有技术存在的问题,本发明的实施例提供了一种应用程序的信息清理方法,参考图1所示,该方法包括:
23.s101:获取应用程序中存在的各个监听者的数量。
24.该步骤之前,会对应用程序中所有的所述监听者进行数量的统计,便于对各个所述监听者进行获取。
25.s102:获取所述应用程序在运行状态下承载所述监听者的阈值。
26.该步骤中,所述阈值根据所述应用程序中剩余的可用资源量实时计算得到。其中,所述可用资源量包括虚全局引用和文件描述符,所述阈值与所述应用程序剩余的可用资源量呈正相关。可以理解的是,剩余可用的虚全局引用和文件描述符的数量越多,相对所述阈值会越大。通过将所述阈值根据所述应用程序中剩余的可用资源量实时计算得到,避免所述阈值设置过高或过低影响到对监听者的清理,进一步提高了系统和应用程序的稳定性。
27.s103:当所述监听者的数量大于所述阈值时,根据所述监听者的类名进行排序。
28.该步骤中,当所述监听者的数量大于所述阈值时,会产生警报信息,用于对本类问题的分析,并对所述监听者的类名进行排序。
29.s104:获取排序前n位的所述监听者的类名,n为正整数;以及获取每类所述监听者的使用度。
30.该步骤中,n的具体数值根据所述应用程序中资源的使用度来确定,当每类所述监听者使用的较多时,对应的n值就较大,从而根据所述应用程序中资源的使用度来合理确定n的具体数值。
31.s105:根据所述监听者的类名和所述监听者的使用度,对所述监听者进行清理。
32.该步骤中,采用最近最少使用(least recently used,lru)算法对所述监听者进行清理,对所述监听者进行清理之后,执行所述应用程序与系统的绑定服务或所述监听者的注册。
33.在本实施例中,通过获取应用程序中存在的各个监听者的数量,并与所述应用程序在运行状态下承载所述监听者的阈值进行比较,当所述监听者的数量大于所述阈值时,根据所述监听者的类名进行排序,获取排序前n位的所述监听者的类名,n为正整数;以及获取每类所述监听者的使用度,通过所述监听者的类名和所述监听者的使用度,对所述监听者进行清理,实现了自动清理保持应用程序和系统的稳定运行,避免应用程序的崩溃或系统的重启。
34.为了进一步清楚的说明该方法的实施,参考图2所示,该方法包括:
35.s201:发起绑定服务或所述监听者的注册流程。
36.s202:对应用程序中所有的所述监听者进行数量的统计,得到应用程序中存在的各个监听者的数量。
37.s203:获取所述应用程序中的各个监听者的数量。
38.s204:获取所述应用程序在运行状态下承载所述监听者的阈值。
39.s205:判断所述监听者的数量是否大于所述阈值。
40.该步骤中,当所述监听者的数量大于所述阈值时,进入s206。当所述监听者的数量小于等于所述阈值时,直接进入s208。
41.s206:获取排序前n位的所述监听者的类名,n为正整数;以及获取每类所述监听者的使用度。
42.s207:根据所述监听者的类名和所述监听者的使用度,对所述监听者进行清理。
43.s208:执行所述应用程序与系统的绑定服务或所述监听者的注册。
44.在本发明公开的又一个实施例中,提供一种应用程序的信息清理系统,参考图3所示,该系统包括:获取模块301,用于获取应用程序中存在的各个监听者的数量。所述获取模块301,还用于获取所述应用程序在运行状态下承载所述监听者的阈值。处理模块303与所述获取模块301连接,用于当所述监听者的数量大于所述阈值时,根据所述监听者的类名进行排序。所述获取模块301还用于获取排序前n位的所述监听者的类名,n为正整数,以及获取每类所述监听者的使用度。清理模块304,与所述获取模块301连接,用于根据所述监听者的类名和所述监听者的使用度,对所述监听者进行清理。
45.在本实施例中,通过所述获取模块301获取应用程序中存在的各个监听者的数量,所述处理模块303将其与所述应用程序在运行状态下承载所述监听者的阈值进行比较,当所述监听者的数量大于所述阈值时,根据所述监听者的类名进行排序,获取排序前n位的所述监听者的类名,n为正整数。所述获取模块301以及获取每类所述监听者的使用度。所述清理模块304通过所述监听者的类名和所述监听者的使用度,对所述监听者进行清理,实现了自动清理保持应用程序和系统的稳定运行,避免应用程序的崩溃或系统的重启。
46.可选的,还包括计算模块302,所述计算模块302根据所述应用程序中剩余的可用资源量实时计算得到所述阈值。其中,所述阈值与所述应用程序剩余的可用资源量呈正相关,所述可用资源量包括虚全局引用和文件描述符。
47.进一步的,所述计算模块302,还用于根据所述应用程序中资源的使用度来计算出n的具体数值。
48.可选的,所述清理模块304用于根据所述监听者的类名和所述监听者的使用度,对所述监听者进行清理,包括:采用lru算法对所述监听者进行清理,对所述监听者进行清理之后,所述处理模块303执行所述应用程序与系统的绑定服务或所述监听者的注册。
49.进一步的,所述处理模块303还用于当所述监听者的数量小于所述阈值时,执行所述应用程序与系统的绑定服务或所述监听者的注册。
50.在本发明公开的还一个实施例中,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的方法步骤。
51.在本发明公开的再一个实施例中,提供一种计算机可读存储介质,其上存储有计算机程序。所述计算机程序被处理器执行时实现如上述的方法步骤。
52.以上所述,仅为本技术实施例的具体实施方式,但本技术实施例的保护范围并不局限于此,任何在本技术实施例揭露的技术范围内的变化或替换,都应涵盖在本技术实施例的保护范围之内。因此,本技术实施例的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1