【技术实现步骤摘要】
应用内存优化方法、装置、终端设备及可读存储介质
本申请涉及内存资源回收领域,具体而言,涉及一种应用内存优化方法、装置、终端设备及可读存储介质。
技术介绍
随着科学技术的不断发展,智能手机、平板电脑等终端设备逐渐成为人们日常生活中经常使用的电子设备,而终端设备通常可以安装多个应用程序,并在需要同时运行大量应用程序时,通过将各应用程序的数据缓存在内存中,提高对数据进行读写操作的速度。但就实际而言,终端设备的内存资源数量是有限的,目前市面上的应用程序大多数是不注重对所占用内存资源的分配及回收,无法长久运行,通常会导致终端设备向目标应用程序提供的虚拟内存资源或物理内存资源无法得到合适的分配及回收,容易致使终端设备因留给自身系统运行的内存资源存在不足,或者应用程序所占用内存资源超过系统分配资源的阈值,而出现运行卡顿、黑屏现象,并通过运行GC(GabageCollection,垃圾回收)机制将对应应用程序杀死的方式来回收内存资源。
技术实现思路
有鉴于此,本申请的目的在于提供一种应用内存优化方法、装置、终端设备和可读存储介质,其能够在合适时机对应用程序的进程进行内存资源回收,确保应用程序得以长久地持续运行,并降低终端设备出现卡顿及黑屏等现象的可能性,提高用户体验。为了实现上述目的,本申请实施例采用的技术方案如下:第一方面,本申请实施例提供一种应用内存优化方法,应用于终端设备,所述方法包括:针对在所述终端设备上运行的与目标应用程序对应的每个应用进程,查询该应用进程对应的内存资源占用量;< ...
【技术保护点】
1.一种应用内存优化方法,其特征在于,应用于终端设备,所述方法包括:/n针对在所述终端设备上运行的与目标应用程序对应的每个应用进程,查询该应用进程对应的内存资源占用量;/n根据查询到的内存资源占用量计算该应用进程的内存占用压力值,其中所述内存占用压力值用于表示对应应用进程的内存资源占用量给终端设备运行造成的压力状况;/n判断所述内存占用压力值是否位于与该应用进程对应的待优化压力值范围内;/n当判定所述内存占用压力值位于所述待优化压力值范围内时,对该应用进程所占用的内存资源进行内存释放,直至所述内存占用压力值位于所述待优化压力值范围之外。/n
【技术特征摘要】
1.一种应用内存优化方法,其特征在于,应用于终端设备,所述方法包括:
针对在所述终端设备上运行的与目标应用程序对应的每个应用进程,查询该应用进程对应的内存资源占用量;
根据查询到的内存资源占用量计算该应用进程的内存占用压力值,其中所述内存占用压力值用于表示对应应用进程的内存资源占用量给终端设备运行造成的压力状况;
判断所述内存占用压力值是否位于与该应用进程对应的待优化压力值范围内;
当判定所述内存占用压力值位于所述待优化压力值范围内时,对该应用进程所占用的内存资源进行内存释放,直至所述内存占用压力值位于所述待优化压力值范围之外。
2.根据权利要求1所述的方法,其特征在于,所述内存资源占用量包括对应应用进程下的第一功能模块的物理内存占用量以及第二功能模块的虚拟内存占用量,其中同一应用进程下的第二功能模块多于第一功能模块,所述第一功能模块由对应应用进程按照第一模块划分方式划分得到,所述第二功能模块由对应应用进程按照第二模块划分方式划分得到;
所述根据查询到的内存资源占用量计算该应用进程的内存占用压力值,包括:
在该应用进程下的所有第二功能模块的虚拟内存占用量中,提取出与预设重要模块对应的目标内存占用量;
分别计算该应用进程下的每个第一功能模块的物理内存占用量与物理内存预设量之间的差值、每个第二功能模块的虚拟内存占用量与虚拟内存预设量之间的差值,以及每个预设重要模块的目标内存占用量与目标内存预设量之间的差值,得到每个第一功能模块的第一内存量差值、每个第二功能模块的第二内存量差值以及每个预设重要模块的第三内存量差值;
根据该应用进程下的每个第一功能模块的第一预设加权值,对该应用进程下的所有第一内存量差值进行加权求和运算,得到与该应用进程对应的物理内存压力值;
根据该应用进程下的每个第二功能模块的第二预设加权值及每个预设重要模块的第三预设加权值,对该应用进程下的所有第二内存量才差值及所有第三内存量差值进行加权求和运算,得到与该应用进程对应的虚拟内存压力值;
对与该应用进程对应的物理内存压力值及虚拟内存压力值进行求和运算,得到该应用进程的内存占用压力值。
3.根据权利要求2所述的方法,其特征在于,所述待优化压力值范围包括第一压力值范围,所述对该应用进程所占用的内存资源进行内存释放,包括:
检测所述内存占用压力值是否处于所述第一压力值范围内;
当检测到所述内存占用压力值处于所述第一压力值范围内时,判断所述物理内存压力值是否不小于预设物理压力阈值,并判断所述虚拟内存压力值是否不小于预设虚拟压力阈值;
若判定所述物理内存压力值不小于所述预设物理压力阈值,则获取针对物理内存资源的与该应用进程对应的第一优化策略,并按照所述第一优化策略对该应用进程所占用的物理内存资源进行内存释放;
若判定所述虚拟内存压力值不小于所述预设虚拟压力阈值,则获取针对虚拟内存资源的与该应用进程对应的第二优化策略,并按照所述第二优化策略对该应用进程所占用的虚拟内存资源进行内存释放。
4.根据权利要求3所述的方法,其特征在于,所述按照所述第一优化策略对该应用进程所占用的物理内存资源进行内存释放,包括:
根据终端设备的物理内存剩余量,确定所述终端设备的物理内存紧缺等级,并确定该应用进程的与所述物理内存紧缺等级匹配的物理内存释放量;
将所述物理内存释放量平摊到该应用进程下的第一内存量差值为正数的第一功能模块上进行物理内存释放。
5.根据权利要求3所述的方法,其特征在于,所述按照所述第一优化策略对该应用进程所占用的物理内存资源进行内存释放,包括:
在该应用进程下的所有第一内存量差值为正数的第一功能模块中选取至少一个目标第一功能模块;
针对每个目标第一功能模块,按照该目标第一功能模块对应的第一内存量差值对该目标第一功能模块进行物理内存释放。
6.根据权利要求3所述的方法,其特征在于,所述按照所述第一优化策略对该应用进程所占用的物理内存资源进行内存释放,包括:
根据终端设备的物理内存剩余量,确定所述终端设备的物理内存紧缺等级,并确定该应用进程的与所述物理内存紧缺等级匹配的物理内存释放量;
对该应用进程下的所有第一内存量差值为正数的第一功能模块按照从弱到强的顺序进行重要度排序,得到对应的物理重要度排序结果;
依次对所述物理重要度排序结果所记录的每个第一功能模块按...
【专利技术属性】
技术研发人员:谈海青,
申请(专利权)人:广州虎牙科技有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。