一种管理方法、管理装置、电子设备和存储介质与流程

文档序号:20767789发布日期:2020-05-15 19:12阅读:120来源:国知局
本申请涉及但不限于计算机
技术领域
:,尤其涉及一种管理方法、管理装置、电子设备和存储介质。
背景技术
::内存泄漏(memoryleak)是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。相关技术中,过多的内存泄漏会造成系统中有大量碎片,从而导致系统如无法启动。申请内容本申请的技术方案是这样实现的:一种管理方法,包括:电子设备的第一系统在满足第一条件时,给第一应用申请第一内存;所述第一系统在满足第二条件时,释放所述第一内存;其中,所述电子设备具有第二系统,所述第一系统是能引导所述第二系统启动的系统,其中,所述第二系统是所述电子设备的操作系统,所述第一系统和所述第二系统不同。可选的,所述电子设备的第一系统在满足第一条件时,给第一应用申请第一内存,包括:所述第一系统在满足所述第一条件时,基于所述第一系统的第一启动服务列表调用第一内存分配函数,从所述第一系统的待分配内存中给所述第一应用申请第二内存;所述第二内存的物理地址连续且所述第二内存的内存大小大于所述第一内存的内存大小;从所述第二内存中给所述第一应用的不同子应用申请不同的子内存;所述第一内存包括所述不同的子内存。可选的,所述方法还包括:获得所述第一系统的第二启动服务列表,所述第二启动服务列表包括指向第二内存分配函数的第一函数指针和指向第二内存释放函数的第二函数指针;获得针对所述第二启动服务列表的更新操作;基于所述更新操作,更新所述第二启动服务列表得到所述第一启动服务列表;所述第一启动服务列表包括指向第一内存分配函数的第三函数指针和指向第一内存释放函数的第四函数指针;第一内存分配函数用于申请所述第二内存,第二内存释放函数用于释放所述第二内存。可选的,所述方法还包括:所述第一系统在满足所述第一条件时,基于所述第一系统的第一启动服务列表调用第一内存分配函数,从所述第一系统的待分配内存中给所述第一应用申请第二内存,包括:所述第一系统在满足所述第一条件时,从所述第一启动服务列表中获得所述第三函数指针;基于所述第三函数指针调用所述第一内存分配函数,从所述第一系统的待分配内存中给所述第一应用申请所述第二内存。可选的,所述从所述第二内存中给所述第一应用的不同子应用申请不同的子内存,包括:基于所述第三函数指针调用所述第一内存分配函数,从所述第二内存中给所述第一应用的不同子应用申请所述不同的子内存。可选的,所述第一系统在满足第二条件时,释放所述第一内存,包括:所述第一系统在满足所述第二条件时,从所述第一启动服务列表中获得所述第四函数指针;基于所述第四函数指针调用所述第一内存释放函数,释放所述第二内存。可选的,所述第一条件包括所述第一应用启动;和/或,所述第二条件包括所述第一应用关闭或调用内存释放函数。一种管理装置,包括:第一处理单元,用于电子设备的第一系统在满足第一条件时,给第一应用申请第一内存;第二处理单元,用于所述第一系统在满足第二条件时,释放所述第一内存;其中,所述电子设备具有第二系统,所述第一系统是能引导所述第二系统启动的系统,其中,所述第二系统是所述电子设备的操作系统,所述第一系统和所述第二系统不同。一种电子设备,所述电子设备包括:处理器、存储器和通信总线;所述通信总线用于实现处理器和存储器之间的通信连接;所述处理器用于执行存储器中存储的管理方法的程序,以实现如上述的管理方法的步骤。一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述的管理方法的步骤。本申请实施例所提供的管理方法、管理装置、电子设备和存储介质,电子设备的第一系统在满足第一条件时,给第一应用申请第一内存;第一系统在满足第二条件时,释放第一内存;其中,电子设备具有第二系统,第一系统是能引导第二系统启动的系统,其中,第二系统是电子设备的操作系统,第一系统和第二系统不同;如此,引导电子设备的操作系统启动的第一系统在给第一应用申请第一内存后,在满足第二条件时,及时地将第一内存一次性释放掉,如此,解决了相关技术中由于内存未及时释放以及内存泄露而产生大量碎片的问题,维护了操作系统的稳定性,确保了操作系统的正常启动。附图说明图1为本申请的实施例提供的一种管理方法的流程示意图;图2为本申请的实施例提供的另一种管理方法的流程示意图;图3为本申请的实施例提供的又一种管理方法的流程示意图;图4为本申请的实施例提供的一种更新启动服务列表的流程示意图;图5为本申请的实施例提供的一种管理的界面示意图;图6为本申请的实施例提供的新的bootservicestable与原始的bootservicestable之间的关联关系的示意图;图7为本申请的实施例提供的一种电子设备的结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。本申请的实施例提供一种管理方法,该管理方法应用于电子设备,参照图1所示,该方法包括以下步骤:步骤101、电子设备的第一系统在满足第一条件时,给第一应用申请第一内存。步骤102、第一系统在满足第二条件时,释放第一内存。其中,电子设备具有第二系统,第一系统是能引导第二系统启动的系统,其中,第二系统是电子设备的操作系统,第一系统和第二系统不同。本申请实施例中,第一系统是固件系统,在一种实现方式中,电子设备的第一系统在满足第一条件时,则给第一系统的第一应用申请第一内存;电子设备的第二系统在满足第二条件时,则释放为第一应用申请的第一内存,也就是说,电子设备基于第一系统当前所具有的功能,实现对第一系统的内存进行上述管理,不仅避免了内存泄露同时确保了第二系统正常启动。本申请实施例中,在另一种实现方式中,电子设备还可以对固件系统进行固件升级,确保升级后的固件系统具有上述的功能,以实现对第一系统的内存进行上述管理,避免内存泄露并确保第二系统正常启动。也就是说,电子设备还可以对原先的固件系统进行固件升级,将原先的固件系统改善成具有上述功能的第一系统。这里,电子设备可以通过替换或者更新启动服务列表的方式,对固件系统进行升级。在一些实施例中,第一条件包括为第一应用申请内存的条件,进一步地,第一条件包括第一应用启动。这里,第一应用启动可以发生在电子设备初次启动或电子设备重新启动时。当然,第一应用启动还可以发生在电子设备成功启动后的运行过程中,通过获得用于启动第一应用的触发事件,并基于该触发事件启动第一应用。例如,触发事件可以是针对第一应用的图标的触控操作。本申请实施例中,电子设备通过第一系统确定第一应用启动时,从第一系统给第一应用申请第一内存,进而在第一内存中存储与第一应用关联的数据。本申请实施例中,第一系统是固件系统,固件系统包括固定电子设备如个人计算机(personalcomputer,pc)的基本输入输出系统(basicinputoutputsystem,bios),统一的可扩展固件接口系统(unifiedextensiblefirmwareinterface,uefi)、可扩展固件接口系统(extensiblefirmwareinterface,efi),移动电子设备如手机的启动装载bootloader系统。示例性的,固件系统为uefi时,uefi中绝大部分代码采用c语言编写,uefi应用程序和驱动甚至可以用c++编写。uefi通过固件-操作系统接口(bs、rt)为操作系统(operatingsystem,os)和os加载器屏蔽了底层硬件细节,使得uefi上层应用可以方便重用。相比传统的bios,uefi有了很大提升,从启动到进入操作系统的时间大大缩短。在一些实施例中,第二条件包括第一应用关闭或调用内存释放函数。本申请实施例中,电子设备通过第一系统确定第一应用关闭或调用内存释放函数时,及时地将第一内存释放掉;如此,避免了由于内存未及时释放以及内存泄露而产生大量碎片的问题。需要说明的是,在本申请实施例中电子设备通过第一系统申请内存时,所采用的上述策略称为第一策略;电子设备通过第二系统申请内存时,所采用的策略称为第二策略;也就是说,本申请实施例中对于具有第一系统和第二系统的电子设备而言,是在两层内存管理体系下用不同的策略管理内存的。此外,本申请实施例中的电子设备的第一系统即固件系统因为有第一应用,使得固件系统本身的复杂度提高了,进而,在用第一系统引导第二系统启动的过程中,通过两层内存管理体系管理电子设备的内存,确保第二系统的正常启动;然而,相关技术中的电子设备即使有两个系统,也只能用一个系统来引导启动另一个系统,并通过同一管理策略管理内存。本申请实施例提供的管理方法,电子设备的第一系统在满足第一条件时,给第一应用申请第一内存;第一系统在满足第二条件时,释放第一内存;其中,电子设备具有第二系统,第一系统是能引导第二系统启动的系统,其中,第二系统是电子设备的操作系统,第一系统和第二系统不同;如此,引导电子设备的操作系统启动的第一系统在给第一应用申请第一内存后,在满足第二条件时,及时地将第一内存一次性释放掉,如此,解决了相关技术中由于内存未及时释放以及内存泄露而产生大量碎片的问题,维护了操作系统的稳定性,确保了操作系统的正常启动。本申请的实施例提供一种管理方法,应用于电子设备,参照图2所示,该方法包括以下步骤:步骤201、第一系统在满足第一条件时,基于第一系统的第一启动服务列表调用第一内存分配函数,从第一系统的待分配内存中给第一应用申请第二内存。其中,第二内存的物理地址连续且第二内存的内存大小大于第一内存的内存大小。本申请实施例中,电子设备通过第一系统确定满足第一条件时,如第一应用启动时,基于第一系统的第一启动服务列表调用第一内存分配函数,从第一系统的待分配内存中给第一应用申请物理地址连续的第二内存。其中,启动服务列表用于管理第一系统的系统资源,启动服务列表包括第一启动服务列表,第一启动服务列表中存储有第一内存分配函数对应的函数指针。电子设备基于第一系统的第一启动服务列表调用第一内存分配函数时,可以基于第一启动服务列表查找到第一内存分配函数对应的函数指针,进而调用该函数指针指向第一内存分配函数,并实现该函数的功能即从第一系统的待分配内存中给第一应用申请第二内存。步骤202、从第二内存中给第一应用的不同子应用申请不同的子内存。其中,第一内存包括不同的子内存。本申请实施例中,电子设备首先第一系统的待分配内存中给第一应用申请第二内存,其次从第二内存中给第一应用的不同子应用申请不同的子内存;也就是说,对于第一应用而言,在第一应用有申请内存的需求时,电子设备通过第一系统先从第一系统的待分配内存中为第一应用分配一个物理地址连续的大块内存即第二内存,再在第一应用的不同子应用具有不同的内存需求时,分别从这一大块内存中为不同的子应用分配所需的小块内存。例如,电子设备通过第一系统确定第一应用的第一子应用具有2m的内存需求时,首先从第一系统的待分配内存中为第一应用分配一个物理地址连续的大块内存如64m的内存;其次,从64m内存中分配2m给第一子应用;接着,电子设备通过第一系统确定第一应用的第二子应用具有1m的内存需求时,从剩下的62m内存中分配1m给第二子应用;之后,采用类似的方式,为第一应用的不同子应用分配不同的子内存。这里,分配给第一应用的不同子应用的不同子内存的物理地址可以是连续的,如此,确保对内存的合理利用,避免内存浪费。步骤203、第一系统在满足第二条件时,释放第一内存。其中,电子设备具有第二系统,第一系统是能引导第二系统启动的系统,其中,第二系统是电子设备的操作系统,第一系统和第二系统不同。本申请实施例中,电子设备通过第一系统确定满足第二条件时,如第一应用关闭时,基于第一系统的第一启动服务列表调用第二内存释放函数,释放第二内存进而实现对第一内存的释放。电子设备基于第一系统的第一启动服务列表调用第二内存释放函数时,可以基于第一启动服务列表查找到第二内存释放函数对应的函数指针,进而调用该函数指针指向第二内存释放函数,并实现该函数的功能即从第一系统的待分配内存释放第二内存,如此,及时地解除对第一系统的内存的占用,为其他应用申请内存或者第一应用再次申请内存提供可分配的内存空间。需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明,可以参照其它实施例中的描述,此处不再赘述。本申请的实施例提供一种管理方法,应用于电子设备,参照图3所示,该方法包括以下步骤:步骤301、获得第一系统的第二启动服务列表。其中,第二启动服务列表包括指向第二内存分配函数的第一函数指针和指向第二内存释放函数的第二函数指针。这里,第二启动服务列表可以理解为原始的用于管理第一系统的系统资源的列表。第二启动服务列表不仅包括上述指向第二内存分配函数的第一函数指针和指向第二内存释放函数的第二函数指针,还可以包括分配页的函数指针、释放页的函数指针、和管理内存映射的函数指针。步骤302、获得针对第二启动服务列表的更新操作。本申请实施例中,针对第二启动服务列表的更新操作用于对第二启动服务列表进行更新以得到第一启动服务列表。步骤303、基于更新操作,更新第二启动服务列表得到第一启动服务列表。其中,第一启动服务列表包括指向第一内存分配函数的第三函数指针和指向第一内存释放函数的第四函数指针;第一内存分配函数用于申请第二内存,第二内存释放函数用于释放第二内存。这里,第一启动服务列表不仅包括上述指向第一内存分配函数的第三函数指针和指向第一内存释放函数的第四函数指针,还可以包括第二启动服务列表中的分配页的函数指针、释放页的函数指针、和管理内存映射的函数指针。本申请实施例中,电子设备通过第一系统基于更新操作,更新第二启动服务列表得到第一启动服务列表,第一启动服务列表可以理解为新的用于管理第一系统的系统资源的列表。在一些实施例中,以第一系统为uefi为例,uefi的系统表是uefi内核的一个全局结构体,系统表指针作为程序映像入口函数的参数传递到用户空间。系统表是重要的数据接口之一,是用户空间通往内核空间的通道。系统表可以分为六个部分:表头,固件信息,标准输入控制台、标准输出控制台、标准错误控制台,启动服务表,运行时服务表,系统配置表。uefi在用户空间使用全局变量(gst)访问系统表。gst是定义在用户空间的变量,而它指向的系统表定义在uefi内核中。参见图4所示,在应用程序里引用uefibootservicestablelib后,就可以使用gst访问系统表了,使用gst和gbs替换掉systemtable和systemtable对应的启动服务bootservices,如此,实现对原始的bootservices的更新。bootservices是uefi的核心数据结构,可以分为以下几类:uefi事件服务、内存管理服务、protocol管理服务、protocol使用类服务、驱动管理服务、image管理服务、exitbootservices、其他服务。启动服务由uefi表头和表项组成,表中每一项是一个函数指针,该函数用于提供一项服务。需要说明的是,在对原始的bootservices的更新的过程中,对虚线框41中的两个内存管理函数指针进行了替换,同时保留了原始的bootservices中的其他函数指针,即不对其做任何的修改。其中,allocatepool/allocatepages对于类型为efibootservicesdata,使用原始的bootservicestable中的函数指针所指的函数申请足够大的内存块后后,链接入新的bootservicestable的memlist上。其它内存类型,仅做转发。freepool/freepages如果在memheader的链表中,则删除节点,从链表memlist中删除本节点后再删除内存,否则,仅做转发。getmemorymap仅做转发。参见图5所示,新的bootservicestable内保存着指向原始的bootservicestable的指针,用于从uefi系统申请内存块,本应用程序申请的内存块的链表头。除了内存管理,对于所有其它bootservicestable函数,新的bootservicestable内函数指针仅做转发,匀为原始的bootservicestable里的函数指针。这里,51、52以及53是第一应用中三个子应用申请的内存的链表头,对应不同子内存的起始地址。步骤304、第一系统在满足第一条件时,基于第一系统的第一启动服务列表调用第一内存分配函数,从第一系统的待分配内存中给第一应用申请第二内存。其中,第二内存的物理地址连续且第二内存的内存大小大于第一内存的内存大小。本申请实施例中,步骤304第一系统在满足第一条件时,基于第一系统的第一启动服务列表调用第一内存分配函数,从第一系统的待分配内存中给第一应用申请第二内存,可以通过如下步骤实现:步骤304a、第一系统在满足第一条件时,从第一启动服务列表中获得第三函数指针。步骤304b、基于第三函数指针调用第一内存分配函数,从第一系统的待分配内存中给第一应用申请第二内存。这里,第三函数指针指向第二内存的起始地址。电子设备通过第一系统确定满足第一条件时,从第一启动服务列表中获得第三函数指针,进而基于第三函数指针调用第一内存分配函数,从第一系统的待分配内存中第二内存的起始地址对应的位置给第一应用申请第二内存,得到一个物理地址连续的大块内存。步骤305、从第二内存中给第一应用的不同子应用申请不同的子内存。其中,第一内存包括不同的子内存。本申请实施例中,步骤305从第二内存中给第一应用的不同子应用申请不同的子内存,可以通过如下步骤实现:基于第三函数指针调用第一内存分配函数,从第二内存中给第一应用的不同子应用申请不同的子内存。步骤306、第一系统在满足第二条件时,从第一启动服务列表中获得第四函数指针。步骤307、基于第四函数指针调用第一内存释放函数,释放第二内存。这里,第四函数指针指向第二内存的起始地址。电子设备通过第一系统确定满足第二条件时,从第一启动服务列表中获得第四函数指针,进而基于第四函数指针调用第一内存释放函数,从第二内存的起始地址对应的位置释放第二内存,一次将第二内存这个物理地址连续的大块内存整体释放掉。由上述可知,本申请实施例所提供的管理方法,采用替换bootservicestable启动服务列表,而不是hookallocatepool/allocatepages函数的方式,实现对第一系统的内存的管理。针对内存泄漏的问题,通过hook内存申请释放的唯一接口函数,可以在应用程序退出时统一释放所有未释放的内存。针对碎片问题,在hook内存申请释放函数中,向系统申请内存时可以一次申请一个大的内存块,从而避免引发uefi系统级的内存碎片问题;进而维护了操作系统的稳定性,确保了操作系统的正常启动。需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明,可以参照其它实施例中的描述,此处不再赘述。本申请的实施例提供一种管理装置,该管理装置可以应用于图1~3对应的实施例提供的一种管理方法中,参照图6所示,该管理装置6包括:第一处理单元61,用于电子设备的第一系统在满足第一条件时,给第一应用申请第一内存;第二处理单元62,用于第一系统在满足第二条件时,释放第一内存;其中,电子设备具有第二系统,第一系统是能引导第二系统启动的系统,其中,第二系统是电子设备的操作系统,第一系统和第二系统不同。在本申请的其他实施例中,第一处理单元61,用于第一系统在满足第一条件时,基于第一系统的第一启动服务列表调用第一内存分配函数,从第一系统的待分配内存中给第一应用申请第二内存;第二内存的物理地址连续且第二内存的内存大小大于第一内存的内存大小;从第二内存中给第一应用的不同子应用申请不同的子内存;第一内存包括不同的子内存。在本申请的其他实施例中,管理装置6还包括:获得单元,用于获得第一系统的第二启动服务列表,第二启动服务列表包括指向第二内存分配函数的第一函数指针和指向第二内存释放函数的第二函数指针;获得针对第二启动服务列表的更新操作;更新单元,用于基于更新操作,更新第二启动服务列表得到第一启动服务列表;第一启动服务列表包括指向第一内存分配函数的第三函数指针和指向第一内存释放函数的第四函数指针;第一内存分配函数用于申请第二内存,第二内存释放函数用于释放第二内存。在本申请的其他实施例中,第一处理单元61,用于第一系统在满足第一条件时,从第一启动服务列表中获得第三函数指针;基于第三函数指针调用第一内存分配函数,从第一系统的待分配内存中给第一应用申请第二内存。在本申请的其他实施例中,第一处理单元61,用于基于第三函数指针调用第一内存分配函数,从第二内存中给第一应用的不同子应用申请不同的子内存。在本申请的其他实施例中,第二处理单元62,用于第一系统在满足第二条件时,从第一启动服务列表中获得第四函数指针;基于第四函数指针调用第一内存释放函数,释放第二内存。在本申请的其他实施例中,第一条件包括第一应用启动;和/或,第二条件包括第一应用关闭或调用内存释放函数。需要说明的是,本实施例中各单元所执行的步骤的具体实现过程,可以参照图1~3对应的实施例提供的管理方法中的实现过程,此处不再赘述。本申请的实施例提供一种电子设备,该电子设备可以应用于图1~3对应的实施例提供的一种管理方法中,参照图7所示,该电子设备7(图7中的电子设备7与图6中的管理装置6对应)包括:处理器71、存储器72和通信总线73,其中:通信总线73用于实现处理器71和存储器72之间的通信连接。处理器71用于执行存储器72中存储的管理程序,以实现以下步骤:电子设备的第一系统在满足第一条件时,给第一应用申请第一内存;第一系统在满足第二条件时,释放第一内存;其中,电子设备具有第二系统,第一系统是能引导第二系统启动的系统,其中,第二系统是电子设备的操作系统,第一系统和第二系统不同。在本申请的其他实施例中,处理器71用于执行存储器72中存储的管理程序,以实现以下步骤:第一系统在满足第一条件时,基于第一系统的第一启动服务列表调用第一内存分配函数,从第一系统的待分配内存中给第一应用申请第二内存;第二内存的物理地址连续且第二内存的内存大小大于第一内存的内存大小;从第二内存中给第一应用的不同子应用申请不同的子内存;第一内存包括不同的子内存。在本申请的其他实施例中,处理器71用于执行存储器72中存储的管理程序,以实现以下步骤:获得第一系统的第二启动服务列表,第二启动服务列表包括指向第二内存分配函数的第一函数指针和指向第二内存释放函数的第二函数指针;获得针对第二启动服务列表的更新操作;基于更新操作,更新第二启动服务列表得到第一启动服务列表;第一启动服务列表包括指向第一内存分配函数的第三函数指针和指向第一内存释放函数的第四函数指针;第一内存分配函数用于申请第二内存,第二内存释放函数用于释放第二内存。在本申请的其他实施例中,处理器71用于执行存储器72中存储的管理程序,以实现以下步骤:第一系统在满足第一条件时,从第一启动服务列表中获得第三函数指针;基于第三函数指针调用第一内存分配函数,从第一系统的待分配内存中给第一应用申请第二内存。在本申请的其他实施例中,处理器71用于执行存储器72中存储的管理程序,以实现以下步骤:基于第三函数指针调用第一内存分配函数,从第二内存中给第一应用的不同子应用申请不同的子内存。第一系统在满足第二条件时,从第一启动服务列表中获得第四函数指针;基于第四函数指针调用第一内存释放函数,释放第二内存。在本申请的其他实施例中,第一条件包括第一应用启动;和/或,第二条件包括第一应用关闭或调用内存释放函数。需要说明的是,本实施例中处理器所执行的步骤的具体实现过程,可以参照图1~3对应的实施例提供的管理方法中的实现过程,此处不再赘述。基于前述实施例,本申请的实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:电子设备的第一系统在满足第一条件时,给第一应用申请第一内存;第一系统在满足第二条件时,释放第一内存;其中,电子设备具有第二系统,第一系统是能引导第二系统启动的系统,其中,第二系统是电子设备的操作系统,第一系统和第二系统不同。在本申请的其他实施例中,该一个或者多个程序可被一个或者多个处理器执行,还可以实现以下步骤:第一系统在满足第一条件时,基于第一系统的第一启动服务列表调用第一内存分配函数,从第一系统的待分配内存中给第一应用申请第二内存;第二内存的物理地址连续且第二内存的内存大小大于第一内存的内存大小;从第二内存中给第一应用的不同子应用申请不同的子内存;第一内存包括不同的子内存。在本申请的其他实施例中,该一个或者多个程序可被一个或者多个处理器执行,还可以实现以下步骤:获得第一系统的第二启动服务列表,第二启动服务列表包括指向第二内存分配函数的第一函数指针和指向第二内存释放函数的第二函数指针;获得针对第二启动服务列表的更新操作;基于更新操作,更新第二启动服务列表得到第一启动服务列表;第一启动服务列表包括指向第一内存分配函数的第三函数指针和指向第一内存释放函数的第四函数指针;第一内存分配函数用于申请第二内存,第二内存释放函数用于释放第二内存。在本申请的其他实施例中,该一个或者多个程序可被一个或者多个处理器执行,还可以实现以下步骤:第一系统在满足第一条件时,从第一启动服务列表中获得第三函数指针;基于第三函数指针调用第一内存分配函数,从第一系统的待分配内存中给第一应用申请第二内存。在本申请的其他实施例中,该一个或者多个程序可被一个或者多个处理器执行,还可以实现以下步骤:基于第三函数指针调用第一内存分配函数,从第二内存中给第一应用的不同子应用申请不同的子内存。在本申请的其他实施例中,该一个或者多个程序可被一个或者多个处理器执行,还可以实现以下步骤:第一系统在满足第二条件时,从第一启动服务列表中获得第四函数指针;基于第四函数指针调用第一内存释放函数,释放第二内存。在本申请的其他实施例中,第一条件包括第一应用启动;和/或,第二条件包括第一应用关闭或调用内存释放函数。需要说明的是,本实施例中处理器所执行的步骤的具体实现过程,可以参照图1~3对应的实施例提供的管理方法中的实现过程,此处不再赘述。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1