内存处理方法、装置、设备和存储介质制造方法及图纸

技术编号:38717280 阅读:16 留言:0更新日期:2023-09-08 15:00
本申请公开了一种内存处理方法、装置、设备和存储介质,属于计算机技术领域,该内存处理方法可以包括在通过退出目标后台应用来执行内存回收操作的情况下,将目标后台应用对应的交换页标识由第一内存空间存储至第二内存空间;目标后台应用对应的交换页标识用于指示目标后台应用对应的交换页在第一内存空间的位置;在满足交换页释放条件的情况下,从第二内存空间获取目标后台应用对应的交换页标识,对交换页标识对应的交换页执行释放操作。对交换页标识对应的交换页执行释放操作。对交换页标识对应的交换页执行释放操作。

【技术实现步骤摘要】
内存处理方法、装置、设备和存储介质


[0001]本申请属于计算机
,具体涉及一种内存处理方法、装置、设备和存储介质。

技术介绍

[0002]为满足用户对电子设备中各应用功能日益剧增的需求,操作系统的后台同时运行的保活应用个数不断增加,这对操作系统的内存空间提出了更高要求。
[0003]在后台应用开启过多的情况下,继续启动大型内存应用,如游戏、相机、即时通讯应用等,会出现内存空间快速降低并触发关闭后台应用的情况,但是,电子设备中的处理器内核基本被前台应用申请内存流程占用以及被操作系统内存回收线程占用,使得后台应用退出耗时增加,从而长时间抢占处理器资源,导致前台应用运行卡顿。

技术实现思路

[0004]本申请实施例的目的是提供一种内存处理方法、装置、设备和存储介质,能够降低电子设备中后台应用的退出耗时,避免前台应用的运行卡顿。
[0005]第一方面,本申请实施例提供了一种内存处理方法,包括:
[0006]在通过退出目标后台应用来执行内存回收操作的情况下,将目标后台应用对应的交换页标识由第一内存空间存储至第二内存空间;目标后台应用对应的交换页标识用于指示目标后台应用对应的交换页在第一内存空间的位置;
[0007]在满足交换页释放条件的情况下,从第二内存空间获取目标后台应用对应的交换页标识,对交换页标识对应的交换页执行释放操作。
[0008]第二方面,本申请实施例提供了一种内存处理装置,包括:
[0009]存储模块,用于在通过退出目标后台应用来执行内存回收操作的情况下,将目标后台应用对应的交换页标识由第一内存空间存储至第二内存空间;目标后台应用对应的交换页标识用于指示目标后台应用对应的交换页在第一内存空间的位置;
[0010]释放模块,用于在满足交换页释放条件的情况下,从第二内存空间获取目标后台应用对应的交换页标识,对交换页标识对应的交换页执行释放操作。
[0011]第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序或指令,程序或指令被处理器执行时实现如第一方面所示的内存处理方法的步骤。
[0012]第四方面,本申请实施例提供了一种可读存储介质,可读存储介质上存储程序或指令,程序或指令被处理器执行时实现如第一方面所示的内存处理方法的步骤。
[0013]第五方面,本申请实施例提供了一种芯片,芯片包括处理器和显示接口,显示接口和处理器耦合,处理器用于运行程序或指令,实现如第一方面所示的内存处理方法的步骤。
[0014]第六方面,本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面所示的内存处理方法的步骤。
[0015]在本申请实施例中,在通过退出目标后台应用来执行内存回收操作的情况下,将目标后台应用对应的交换页标识由第一内存空间存储至第二内存空间,目标后台应用对应的交换页标识用于指示目标后台应用对应的交换页第一内存空间的位置,在满足交换页释放条件的情况下,从第二内存空间获取目标后台应用对应的交换页标识,对交换页标识对应的交换页执行释放操作。这样,通过更换目标后台应用对应的交换页标识的存储位置,使得在目标后台应用的退出过程中无法从第一内存空间中获取目标后台应用对应的交换页标识,从而无法释放交换页标识对应的交换页,并在满足交换页释放条件的情况下再从第二内存空间获取目标后台应用对应的交换页标识,从而释放交换页标识对应的交换页,因此降低了目标后台应用的退出耗时,避免了前台应用的运行卡顿。
附图说明
[0016]图1为一种数据存储关系的示意图;
[0017]图2为本申请实施例提供的一种内存处理方法的流程图;
[0018]图3为本申请实施例提供的一种内存处理方法中全局链表和缓存关系的示意图;
[0019]图4为本申请实施例提供的一种内存处理方法的流程示意图之一;
[0020]图5为本申请实施例提供的一种内存处理方法的流程示意图之二;
[0021]图6为本申请实施例提供的一种内存处理装置的结构示意图;
[0022]图7为本申请实施例提供的一种电子设备的结构示意图;
[0023]图8为本申请实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
[0024]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
[0025]本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
[0026]在操作系统的后台应用开启过多的情况下,继续启动如游戏、相机、即时通讯应用等大型内存应用,会出现因后台应用无法快速退出,导致长时间抢占处理器资源和不能快速释放其占用的匿名页和文件页的内存,而出现前台应用运行卡顿、以及电子设备功耗增加等问题。
[0027]专利技术人发现,以Linux系统为例,内存页(page)是内存管理的基本单位,每个内存页的大小为4KB。应用程序占用的物理页类型主要包括匿名页、文件页和交换页。其中,匿名页是指不与文件关联的内存页,可用于应用的进程堆、栈、数据段和匿名映射等,释放时数据不会保存;文件页是指与文件关联的内存页,可用于应用的进程代码段、文件读写操作和共享内存等,释放时数据会保存到交换页中。交换页可以为换出(swapout)交换页,该
swapout交换页可以包括zram内存页和zram ufs页,其中,zram内存页是指在应用占用的匿名页在系统内存回收时,其数据被压缩并优先交换存储到一块新的内存空间中的单位存储块大小,zram ufs页是指当存储的zram内存页数量达到某阈值后被交换存储到ufs分区中的单位存储块大小,swapout交换页释放时数据不会保存。
[0028]如图1所示,应用占用的匿名页和文件页对应的页表项(PTE)是存储在内存中的,释放时可以通过遍历应用的虚拟地址空间(vma)映射的页表项,直接找到关联的匿名页或文件页。而应用占用的swapout交换页对应的页表项不是存储在内存中的,其指向交换页标识swp_entry_t,并存储在swap地址空间中,其中swp_entry_t用于表示对应的swapout交换页在swap分区中的位置编号,即swp_entry_t是用于在swap分区中查找对应swapout交换页的索引,释放时需要通过swp_entry本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种内存处理方法,其特征在于,包括:在通过退出目标后台应用来执行内存回收操作的情况下,将所述目标后台应用对应的交换页标识由第一内存空间存储至第二内存空间;所述目标后台应用对应的交换页标识用于指示所述目标后台应用对应的交换页在所述第一内存空间的位置;在满足交换页释放条件的情况下,从所述第二内存空间获取所述目标后台应用对应的交换页标识,对所述交换页标识对应的交换页执行释放操作。2.根据权利要求1所述的方法,其特征在于,所述在通过退出目标后台应用来执行内存回收操作的情况下,将所述目标后台应用对应的交换页标识由第一内存空间存储至第二内存空间,包括:在通过退出所述目标后台应用来执行内存回收操作的情况下,将所述目标后台应用对应的交换页标识由所述第一内存空间存储至所述第二内存空间中的全局链表;所述在满足交换页释放条件的情况下,从所述第二内存空间获取所述目标后台应用对应的交换页标识,对所述交换页标识对应的交换页执行释放操作,包括:在满足所述交换页释放条件的情况下,基于所述全局链表获取所述目标后台应用对应的交换页标识,对所述交换页标识对应的交换页执行释放操作。3.根据权利要求2所述的方法,其特征在于,所述在通过退出所述目标后台应用来执行内存回收操作的情况下,将所述目标后台应用对应的交换页标识由所述第一内存空间存储至所述第二内存空间中的全局链表,包括:在通过退出所述目标后台应用来执行内存回收操作的情况下,将所述目标后台应用对应的交换页标识存储至所述第二内存空间中的缓冲存储结构;在所述缓冲存储结构的存储量大于第一存储量阈值的情况下,将所述缓冲存储结构挂载至所述第二内存空间中的全局链表;继续执行上述存储和挂载步骤,直至将所述目标后台应用对应的交换页标识存储完成;其中,在将所述目标后台应用对应的交换页标识存储完成的情况下,所述全局链表包括N个缓冲存储结构,N大于0。4.根据权利要求3所述的方法,其特征在于,所述在通过退出所述目标后台应用来执行内存回收操作的情况下,将所述目标后台应用对应的交换页标识存储至所述第二内存空间中的缓冲存储结构,包括:在通过退出所述目标后台应用来执行内存回收操作的情况下,将所述交换页标识存储至所述第二内存空间中的缓冲存储结构的固定内存区域;在所述固定内存区域的存储量大于第二存储量阈值的情况下,申请活动内存区域;将所述交换页标识继续存储至所述活动内存区域。5.根据权利要求4所述的方法,其特征在于,所述固定内存区域包括至少两个第一子内存区域,每个第一子内存区域用于存储一个交换页标识。6.根据权利要求4所述的方法,其特征在于,所述活动内存区域包括至少两个活动内存空间,每个活动内存空间包括至少两个第二子内存区域,每个第二子内存区域用于存储一个交换页标识;所述将所述交换页标识存储至所述活动内存区域,包括:
将所述交换页标识存储至所述至少两个活动内存空间中的首个活动内存空间;在首个所述活动内存空间的存储量大于第三存储量阈值的情况下,将所述交换页标识存储至所述至少两个活动内存空间中的下一个活动内存空间。7.根据权利要求3所述的方法,其特征在于,所述方法还包括:若第N个缓冲存储结构的存...

【专利技术属性】
技术研发人员:江志国
申请(专利权)人:维沃移动通信有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1