CN111078406B - 内存管理方法、装置、存储介质及电子设备 - Google Patents
内存管理方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN111078406B CN111078406B CN201911260091.1A CN201911260091A CN111078406B CN 111078406 B CN111078406 B CN 111078406B CN 201911260091 A CN201911260091 A CN 201911260091A CN 111078406 B CN111078406 B CN 111078406B
- Authority
- CN
- China
- Prior art keywords
- memory
- target
- application program
- demand
- target memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
Abstract
本申请公开了一种内存管理方法、装置、存储介质及电子设备,其中内存管理方法包括:当检测到基于应用程序触发的启动指令时,获取应用程序启动的目标内存需求量;检测空闲内存空间的大小是否小于目标内存需求量;当空闲内存空间的大小小于目标内存需求量时,根据目标内存需求量从已分配内存空间中确定出目标内存页;对目标内存页进行回收处理,以得到大小与目标内存需求量匹配的空闲内存空间;在应用程序的启动过程中,当检测到基于应用程序触发的内存分配请求时,基于空闲内存空间响应内存分配请求。本实施例提供的内存管理方案,可以在应用程序启动的同时,对目标内存页进行回收处理,实现了内存的提前回收,从而提高应用程序的启动效率。
Description
技术领域
本申请属于通信技术领域,尤其涉及一种内存管理方法、装置、存储介质及电子设备。
背景技术
内存管理是系统的核心技术之一,对提高系统的用户体验和系统运行的稳定性具有关键作用。当内存紧张时,系统会出现卡顿、运行出错、崩溃等一系列问题。相关技术中,电子设备可间隔一定时长检测内存是否紧张,若内存紧张则对内存进行管理来缓解内存紧张,以解决因内存紧张导致的一系列问题。但是该种管理方式,存在因内存不足导致应用程序的启动效率低的情况。
发明内容
本申请实施例提供一种内存管理方法、装置、存储介质及电子设备,可以提高应用程序的启动效率。
第一方面,本申请实施例提供一种内存管理方法,包括:
当检测到基于应用程序触发的启动指令时,获取所述应用程序启动的目标内存需求量;
检测空闲内存空间的大小是否小于所述目标内存需求量;
当所述空闲内存空间的大小小于所述目标内存需求量时,根据所述目标内存需求量从已分配内存空间中确定出目标内存页;
对所述目标内存页进行回收处理,以得到大小与所述目标内存需求量匹配的空闲内存空间;
在所述应用程序的启动过程中,当检测到基于所述应用程序触发的内存分配请求时,基于所述空闲内存空间响应所述内存分配请求。
第二方面,本申请实施例提供一种内存管理装置,包括:
获取模块,用于当检测到基于应用程序触发的启动指令时,获取所述应用程序启动的目标内存需求量;
第一检测模块,用于检测空闲内存空间的大小是否小于所述目标内存需求量;
确定模块,用于当所述空闲内存空间的大小小于所述目标内存需求量时,根据所述目标内存需求量从已分配内存空间中确定出目标内存页;
回收处理模块,用于对所述目标内存页进行回收处理,以得到大小与所述目标内存需求量匹配的空闲内存空间;
响应模块,用于在所述应用程序的启动过程中,当检测到基于所述应用程序触发的内存分配请求时,基于所述空闲内存空间响应所述内存分配请求。
第三方面,本申请实施例提供的存储介质,其上存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如本申请任一实施例提供的内存管理方法。
第四方面,本申请实施例提供的电子设备,包括处理器和存储器,所述存储器有计算机程序,所述处理器通过调用所述计算机程序,用于执行如本申请任一实施例提供的内存管理方法。
本申请实施例提供的内存管理方案,在检测到基于应用程序触发的启动指令时,电子设备对内存进行管理:若空闲内存空间的大小小于应用程序启动的目标内存需求量,则确定出目标内存页,并对目标内存页进行回收处理。以及在检测到基于应用程序触发的内存分配请求时,基于所述空闲内存空间响应所述内存分配请求。电子设备可以在应用程序执行启动过程的同时,对目标内存页进行回收处理,实现了内存的提前回收,因此,在应用程序启动过程中,接收到内存分配请求时,可以直接基于内存空间进行内存分配,不需要进行内存回收,避免了启动过程受到内存不足的影响,从而提高应用程序的启动效率。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其有益效果显而易见。
图1是本申请实施例提供的内存管理方法的第一流程示意图。
图2是本申请实施例提供的内存管理方法的第二流程示意图。
图3是本申请实施例提供的内存管理装置的结构示意图。
图4是本申请实施例提供的电子设备的第一结构示意图
图5是本申请实施例提供的电子设备的第二结构示意图。
具体实施方式
以下的说明是基于所例示的本申请具体实施例,其不应被视为限制本申请未在此详述的其它具体实施例。本文所使用的术语「模块」可看做为在该运算系统上执行的软件对象。本文不同模块、引擎及服务可看做为在该运算系统上的实施对象。
相关技术中,如果采用常规的内存分配方式,对于应用程序的启动过程,会存在如下问题:在应用程序的启动过程中,当检测到应用程序的内存分配因空闲内存空间耗尽而停止分配时,电子设备需要对内存进行管理,为该应用程序的再次内存分配提供空闲内存空间。然后在有空闲内存空间分配给该应用程序时,电子设备为该应用程序再一次进行内存分配。即该种常规的内存分配方式,在应用程序的启动过程中,需要分阶段进行多次内存分配,会导致内存分配时间变长,从而延长该应用程序的启动时间,降低该应用程序的启动效率。
例如,假设电子设备如果要成功启动应用程序A,需要给应用程序A分配大小为128KB的空闲内存空间。在应用程序A的启动过程中,当电子设备为应用程序A分配了64KB的空闲内存空间时,检测到电子设备的空闲内存空间耗尽,应用程序A的第一次内存分配被迫停止。此时电子设备需要耗费一定时间对内存进行管理,如对内存进行回收,以得到大小为64KB的空闲内存空间。然后电子设备需要将得到的大小为64KB的空闲内存空间分配给应用程序A,即第二次为应用程序A进行内存分配。因此,在应用程序A的启动过程中,分阶段进行2次内存分配,会导致内存分配时间变长,从而延长应用程序A的启动时间,降低应用程序A的启动效率。
针对上述应用程序启动过程受到内存不足的影响,导致应用程序启动效率低的情况,本申请实施例提供了一种内存管理方法,可以避免应用程序启动过程受到内存不足的影响,从而提高应用程序的启动效率。
请参阅图1,图1为本申请实施例提供的内存管理方法的第一流程示意图。该内存管理方法的执行主体可以是本申请实施例提供的内存管理装置,或者集成了该内存管理装置的电子设备。其中,该电子设备可以是智能手机、平板电脑、掌上电脑(PDA,PersonalDigital Assistant)等。该内存管理方法可以包括以下步骤:
101、当检测到基于应用程序触发的启动指令时,获取应用程序启动的目标内存需求量。
本申请实施例中,当检测到基于应用程序触发的启动指令时,电子设备从预设存储空间中获取该应用程序启动的目标内存需求量。其中,目标内存需求量用于表示成功启动该应用程序所需的空闲内存空间的大小。不同应用程序的目标内存需求量可以相同或不同。在电子设备中同一个应用程序每次成功启动的内存需求量的大小相同。
需要说明的是,在用户需要启动电子设备中的某一应用程序时,用户可以通过预设操作来指示电子设备启动该应用程序,如用户可以通过点击该应用程序的桌面图标来指示电子设备启动该应用程序等。之后,电子设备检测到用户的预设操作,会基于该应用程序触发启动指令,以指示系统启动该应用程序。需要说明的是,基于该应用程序触发启动指令的时刻,是该应用程序启动过程的开始时刻。
此外,该方案的预设存储空间中保存有应用程序的目标内存需求量。预设存储空间中应用程序与目标内存需求量一一对应。对于预设存储空间中目标内存需求量的来源途径,本申请实施例不作具体限定。如电子设备基于应用程序发送获取请求给服务器,服务器基于该获取请求返回该应用程序的目标内存需求量给电子设备等。
102、检测空闲内存空间的大小是否小于目标内存需求量。
本申请实施例中,在获取应用程序启动的目标内存需求量之后,电子设备可以获取空闲内存空间的大小,并判断空闲内存空间的大小是否小于目标内存需求量。当空闲内存空间的大小小于目标内存需求量时,判定空闲内存空间不足以支持该应用程序成功启动,电子设备需要进行内存回收。当空闲内存空间的大小大于或等于目标内存需求量时,判定空闲内存空间足以支持该应用程序成功启动,电子设备无需进行内存回收。
其中,电子设备的内存空间包括空闲内存空间和已分配内存空间。电子设备中的一些应用程序在启动过程或运行过程中,电子设备会为这些应用程序进行内存空间分配。空闲内存空间是指处于未分配状态的内存空间,已分配内存空间是指处于已分配状态的内存空间。
103、当空闲内存空间的大小小于目标内存需求量时,根据目标内存需求量从已分配内存空间中确定出目标内存页。
本申请实施例中,在检测空闲内存空间的大小是否小于目标内存需求量之后,若空闲内存空间的大小小于目标内存需求量,此时判定该电子设备的空闲内存空间不足以支持该应用程序成功启动,则电子设备根据目标内存需求量从已分配内存空间中确定出目标内存页,作为回收处理的对象。
其中,空闲内存空间的大小是指处于未分配状态的内存空间的大小。例如,电子设备具有大小为256M的内存空间,其中有200M的内存空间处于已分配状态,剩余56M的内存空间处于未分配状态,则空闲内存空间的大小为56M。
在一些实施例中,根据目标内存需求量从已分配内存空间中确定出目标内存页时,电子设备可以根据目标内存需求量确定出目标页数,然后基于目标页数从已分配内存空间中确定出目标内存页。
其中,在根据目标内存需求量确定出目标页数时,电子设备可以根据空闲内存空间的大小和目标内存需求量确定待回收量,然后根据待回收量和内存页的大小,计算目标页数。
例如,假设电子设备空闲内存空间的大小为64KB,获取的目标内存需求量为128KB,一个内存页的大小为4KB。该电子设备先根据空闲内存空间的大小和目标内存需求量确定待回收量:128KB-64KB=64KB,然后根据待回收量和内存页的大小,计算目标页数:64KB÷4KB=16。
在一些实施例中,根据目标内存需求量从已分配内存空间中确定出目标内存页时,电子设备可以确定已分配内存空间中各内存页对应的应用程序,按照后台应用程序优先于前台应用程序的顺序,根据目标内存需求量获取内存页,作为目标内存页。
在一些实施例中,根据目标内存需求量从已分配内存空间中确定出目标内存页时,电子设备可以确定已分配内存空间中各内存页的分配时间,按照分配时间从先到后的顺序,根据目标内存需求量获取内存页,作为目标内存页。
104、对目标内存页进行回收处理,以得到大小与目标内存需求量匹配的空闲内存空间。
本申请实施例中,在确定出目标内存页之后,电子设备可以对目标内存页进行回收处理,得到大小与目标内存需求量匹配的空闲内存空间,以保证应用程序的正常启动。
其中,大小与目标内存需求量匹配的空闲内存空间,是指能够支持应用程序启动成功的空闲内存空间。
105、在应用程序的启动过程中,当检测到基于应用程序触发的内存分配请求时,基于空闲内存空间响应内存分配请求。
本申请实施例中,在以基于应用程序触发启动指令的时刻开始的启动过程中,当检测到应用程序的启动进程(或线程)发送的内存分配请求时,根据空闲内存空间响应该内存分配请求,其中,启动进程(或线程)用于执行应用程序的启动操作。
可以理解的是,在应用程序的启动过程中,进程可能会发起多次内存分配请求,在这个过程中,电子设备对每一次内存分配的大小进行记录,例如,在应用程序整个启动过程中,进程一共发起三次内存分配请求,第一次请求10KB的内存,第二请求8KB的内存,第三次请求12KB的内存。在应用程序启动成功后,根据记录可以确定应用程序的启动过程一共耗费30KB的内存量,存储该内存大小作为与该应用程序启动过程对应的所述目标内存需求量。
如果采用常规的方案,假设在应用程序启动后发送第一次内存请求时,当前的空闲内存空间可以满足本次请求,可能在第二次或者第三次请求时,剩余的空闲内存已经不能满足请求,则内核需要进行内存回收,在内核进行内存回收的这段时间,应用程序进程只能处于等待状态,不能正常运行启动过程,直至内核回收到足够的内存并将这些内存分配给应用程序,应用程序才能够继续启动,这就导致应用程序的启动速度慢,效率低。
而如果采用本申请实施例的方案,在应用程序启动后,如果检测到内存不足以支持应用程序成功启动,则进行内存的提前回收,以保证在应用程序的启动过程中有足够大小的内存空间分配给应用程序。例如,假设在应用程序启动后发送第一次内存请求时,当前的空闲内存空间可以满足本次请求,则应用程序基于第一次分配的内存启动,与此同时(应用程序基于第一次分配的内存启动的同时),内核启动了内存回收,获取足够支持应用程序成功启动的内存量,这样当应用程序发起第二次、第三次内存请求时,内核就有足够的内存分配,无需应用程序等待,因此,应用程序的启动过程可以不间断的成功执行,使应用程序的启动速度得以提升。
需要说明的是,具体实施时,本申请105的执行顺序不受所描述的其余步骤的执行顺序的限制,在不产生冲突的情况下,105可以与其余步骤中的某些步骤同时进行,以及与其余步骤中的某些步骤顺序进行。
由上可知,本申请实施例提供的内存管理方法,电子设备可以在应用程序执行启动过程的同时,对目标内存页进行回收处理,实现了内存的提前回收,因此,在应用程序启动过程中,接收到内存分配请求时,可以直接基于内存空间进行内存分配,不需要进行内存回收,避免了启动过程收到内存不足的影响,从而提高应用程序的启动效率。
请参阅图2,图2为本申请实施例提供的内存管理方法的第二流程示意图。该内存管理方法可以包括以下步骤:
201、当检测到基于应用程序触发的启动指令时,判断应用程序是否为首次启动。
本申请实施例中,当检测到基于应用程序触发的启动指令时,电子设备根据启动记录判断该应用程序是否首次启动。若应用程序首次启动,此时不会触发对内存的管理操作。若应用程序不是首次启动,此时会触发对内存的管理操作。需要说明的是,无论该应用程序是否首次启动,电子设备都需要启动应用程序。
202、若是,则启动应用程序,并记录应用程序的启动操作占用的内存量,作为目标内存需求量。
本申请实施例中,在判断应用程序是否为首次启动之后,若应用程序不是首次启动,则电子设备启动该应用程序,并在该应用程序成功启动后,将读取该应用程序的启动操作占用的内存量,作为该应用程序的目标内存需求量,并将该应用程序与目标内存需求量关联后记录在预设存储空间中。
例如,在应用程序启动过程中,进程一共发起三次内存分配请求,第一次请求10KB的内存,第二请求8KB的内存,第三次请求12KB的内存。在应用程序启动成功后,根据记录可以确定应用程序的启动过程一共耗费30KB的内存量,记录该内存大小作为与该应用程序启动过程对应的所述目标内存需求量。在应用程序下次启动时,可以直接获取该目标内存量作为判断是否进行内存回收的依据。
其中,目标内存需求量用于表示成功启动该应用程序所需的空闲内存空间的大小。不同应用程序的目标内存需求量可以相同或不同。在电子设备中同一个应用程序每次成功启动所需的空闲内存的大小相同。此外,预设存储空间设置在电子设备中,预设存储空间用于存储目标内存需求量。
203、若否,则获取应用程序启动的目标内存需求量。
本申请实施例中,在判断应用程序是否为首次启动之后,若应用程序是首次启动,则电子设备从预设存储空间中获取该应用程序启动的目标内存需求量。其中,预设存储空间中保存有应用程序的目标内存需求量。预设存储空间中目标内存需求量与应用程序一一对应。
204、检测空闲内存空间的大小是否小于目标内存需求量。
本申请实施例中,在获取应用程序启动的目标内存需求量之后,电子设备获取空闲内存空间的大小,并判断空闲内存空间的大小是否小于目标内存需求量。当空闲内存空间的大小小于目标内存需求量时,判定空闲内存空间不足以支持该应用程序成功启动,电子设备需要进行内存回收。当空闲内存空间的大小大于或等于目标内存需求量时,判定空闲内存空间足以支持该应用程序成功启动,电子设备无需进行内存回收。
205、当空闲内存空间的大小小于目标内存需求量时,根据目标内存需求量从已分配内存空间中确定出目标内存页。
本申请实施例中,在检测空闲内存空间的大小是否小于目标内存需求量之后,若空闲内存空间的大小小于目标内存需求量,此时判定该电子设备的空闲内存空间不足以支持该应用程序成功启动,则电子设备根据目标内存需求量确定出目标页数,然后基于目标页数从已分配内存空间中确定出目标内存页,作为回收处理的对象。
在一些实施例中,根据目标内存需求量从已分配内存空间中确定出目标内存页时,电子设备可以按照干净内存页优先于脏内存页的顺序,根据目标内存需求量从已分配内存空间中确定出目标内存页,具体执行如下:
若已分配内存空间中的干净内存页的数量小于目标内存需求量,则将干净内存页作为目标干净内存页,并从已分配内存空间的脏内存页中确定出目标脏内存页,将目标干净内存页和目标脏内存页作为目标内存页;
若已分配内存空间中的干净内存页的数量大于或等于目标内存需求量,则根据目标内存需求量从干净内存页中确定出目标内存页。
其中,内存页是已分配内存空间的存储单位。已分配内存空间包括干净内存页和脏内存页。干净内存页为已分配内存空间中处于读取状态的内存页,干净内存页可以为一个或多个内存页。脏内存页为已分配内存空间中处于写入状态的内存页,脏内存页可以为一个或多个内存页。
需要说明的是,因为电子设备可以直接对干净内存页进行回收处理,而在对脏内存页进行回收处理前,还需要将其进行存储,所以相比于干净内存页的处理时间,脏内存页的处理时间更长。故而优先选取干净内存页作为目标内存页,可以提高内存回收的效率。
在一些实施例中,根据目标内存需求量从干净内存页中确定出目标内存页时,电子设备可以执行如下:
确定干净内存页中各内存页的最后访问时间;
按照最后访问时间从先到后的顺序,从干净内存页中获取大小等于目标内存需求量的内存页,作为目标内存页。
其中,内存页的最后访问时间是指电子设备对该内存页中的数据最晚调用的时间。
在一些实施例中,从已分配内存空间的脏内存页中确定出目标脏内存页时,电子设备可以执行如下:
确定脏内存页的分配时间;
按照分配时间从先到后的顺序,从脏内存页中确定出目标脏内存页。
需要说明的是,电子设备在检测到分配请求时,会基于该分配请求对空闲内存空间中的内存页进行分配。对于分配后的内存页,其分配时间可以指被分配的时刻或检测到分配请求的时刻。
206、当空闲内存空间的大小小于目标内存需求量时,为预设线程添加第一预设标识。
本申请实施例中,当空闲内存空间的大小小于目标内存需求量时,此时需要通过内存回收处理来支持该应用程序启动,电子设备不仅需要确定出目标内存页,还需要为预设线程添加第一预设标识。
其中,第一预设标识用于指示预设线程进行回收处理。需要说明的是,预设线程可以执行多种内存管理操作,如回收处理以及压缩处理等。电子设备中具有多种预设标识,每种预设标识对应预设线程的一种具体操作。电子设备可以添加对应的预设标识来指示预设线程进行相应操作。
在一些实施例中,对于预设线程进行压缩处理的执行流程如下:
检测空闲内存空间的大小是否小于预设阈值;
当空闲内存空间的大小小于预设阈值时,为预设线程添加第二预设标识;
唤醒预设线程,使得预设线程基于第二预设标识对已分配内存空间的数据进行压缩处理,得到大小不小于预设阈值的空闲内存空间。
其中,在检测到内存分配请求时,如检测到基于应用程序触发的内存分配请求时,电子设备可以检测空闲内存空间的大小是否小于预设阈值。或者电子设备可以每间隔预设时长检测空闲内存空间的大小是否小于预设阈值。预设时长可以根据需要设置,预设时长可以是固定数值也可以是变动数值。预设阈值预先设置在电子设备中,是保持电子设备正常运行的最低空闲内存空间的大小。此外,第二预设标识用于指示预设线程进行压缩处理。
需要说明的是,为预设线程添加第二预设标识之前,电子设备需要判断预设线程是否处于运行状态,若是,则不执行任何操作,若否,则执行为预设线程添加第二预设标识。例如,当检测到基于应用程序触发的内存分配请求时,电子设备检测空闲内存空间的大小是否小于预设阈值。当空闲内存空间的大小小于预设阈值时,判断是否存在预设线程的第一预设标识,若是,则电子设备不执行任何操作,若否,则电子设备执行为预设线程添加第二预设标识。其中,当存在预设线程的第一预设标识时,说明预设线程在进行回收处理,即预设线程处于使用状态。
此外,预设线程对目标内存页的压缩处理结束后,电子设备可以删除第二预设标识,以表示预设线程已经结束压缩处理。
可以理解的是,电子设备对已分配内存空间的数据进行压缩处理,可以缩小数据的大小,从而减小该数据的占用空间,使电子设备的空闲内存空间更大。例如,电子设备对大小为640KB的已分配内存空间的数据进行压缩处理,可以使得压缩后的数据只需要占用大小为320KB的已分配内存空间,电子设备新增320KB的空闲内存空间。
207、唤醒预设线程,使得预设线程基于第一预设标识对目标内存页进行回收处理。
本申请实施例中,在确定出目标内存页、以及为预设线程添加第一预设标识之后,电子设备可以唤醒预设线程,使预设线程根据第一预设标识对目标内存页进行回收处理,得到大小与目标内存需求量匹配的空闲内存空间,以保证应用程序的正常启动。
需要说明的是,预设线程对目标内存页的回收处理结束后,电子设备可以删除第一预设标识,以表示预设线程已经结束回收处理。
208、在应用程序的启动过程中,当检测到基于应用程序触发的内存分配请求时,基于空闲内存空间响应内存分配请求。
本申请实施例中,在以基于应用程序触发启动指令的时刻开始的启动过程中,当检测到应用程序的启动进程(或线程)发送的内存分配请求时,根据空闲内存空间响应该内存分配请求,其中,启动进程(或线程)用于执行应用程序的启动操作。
需要说明的是,具体实施时,本申请208的执行顺序不受所描述的其余步骤(202除外)的执行顺序的限制,在不产生冲突的情况下,208可以与其余步骤中的某些步骤同时进行,以及与其余步骤中的某些步骤顺序进行。
图3是本申请实施例提供的内存管理装置的结构示意图。该装置用于执行上述实施例提供的内存管理方法,具备执行方法相应的功能模块和有益效果。如图3所示,该内存管理装置300包括:获取模块301、第一检测模块302、确定模块303、回收处理模块304、响应模块305,其中:
获取模块301,用于当检测到基于应用程序触发的启动指令时,获取所述应用程序启动的目标内存需求量;
第一检测模块302,用于检测空闲内存空间的大小是否小于所述目标内存需求量;
确定模块303,用于当所述空闲内存空间的大小小于所述目标内存需求量时,根据所述目标内存需求量从已分配内存空间中确定出目标内存页;
回收处理模块304,用于对所述目标内存页进行回收处理,以得到大小与所述目标内存需求量匹配的空闲内存空间;
响应模块305,用于在所述应用程序的启动过程中,当检测到基于所述应用程序触发的内存分配请求时,基于所述空闲内存空间响应所述内存分配请求。
在一些实施例中,获取所述应用程序启动的目标内存需求量之前,内存管理装置300还包括:
判断模块,用于判断所述应用程序是否为首次启动;
启动模块,用于当应用程序不为首次启动时,启动所述应用程序,并记录所述应用程序的启动操作占用的内存量,作为所述目标内存需求量;
当应用程序不为首次启动时,获取模块301用于获取所述应用程序启动的目标内存需求量。
在一些实施例中,对所述目标内存页进行回收处理时,回收处理模块304还可以用于:
基于预设线程,对所述目标内存页进行回收处理。
在一些实施例中,基于预设线程,对所述目标内存页进行回收处理之前,内存管理装置300还包括:
第一添加模块,用于当所述空闲内存空间的大小小于所述目标内存需求量时,为预设线程添加第一预设标识;
基于预设线程,对所述目标内存页进行回收处理时,回收处理模块304还可以用于:
唤醒预设线程,使得所述预设线程基于所述第一预设标识对所述目标内存页进行回收处理。
在一些实施例中,内存管理装置300还包括:
第二检测模块,用于检测空闲内存空间的大小是否小于预设阈值;
第二添加模块,用于当所述空闲内存空间的大小小于预设阈值时,为预设线程添加第二预设标识;
压缩处理模块,用于唤醒所述预设线程,使得所述预设线程基于所述第二预设标识对已分配内存空间的数据进行压缩处理,得到大小不小于所述预设阈值的空闲内存空间。
在一些实施例中,根据所述目标内存需求量从已分配内存空间中确定出目标内存页时,确定模块303还可以用于:
若已分配内存空间中的干净内存页的数量小于所述目标内存需求量,则将所述干净内存页作为目标干净内存页,并从所述已分配内存空间的脏内存页中确定出目标脏内存页,将所述目标干净内存页和所述目标脏内存页作为目标内存页;
若已分配内存空间中的干净内存页的数量大于或等于所述目标内存需求量,则根据所述目标内存需求量从所述干净内存页中确定出目标内存页。
在一些实施例中,根据所述目标内存需求量从所述干净内存页中确定出目标内存页时,确定模块303还可以用于:
确定所述干净内存页中各内存页的最后访问时间;
按照最后访问时间从先到后的顺序,从所述干净内存页中获取大小等于所述目标内存需求量的内存页,作为目标内存页。
应当说明的是,本申请实施例提供的内存管理装置与上文实施例中的内存管理方法属于同一构思,在内存管理装置上可以运行内存管理方法实施例中提供的任一方法,其具体实现过程详见内存管理方法实施例,此处不再赘述。
由上可知,本申请实施例提供的内存管理装置,当检测到基于应用程序触发的启动指令时,获取模块301获取应用程序启动的目标内存需求量,第一检测模块302检测空闲内存空间的大小是否小于目标内存需求量,当空闲内存空间的大小小于目标内存需求量时,确定模块303根据目标内存需求量从已分配内存空间中确定出目标内存页,回收处理模块304对目标内存页进行回收处理,以得到大小与目标内存需求量匹配的空闲内存空间,在应用程序的启动过程中,当检测到基于应用程序触发的内存分配请求时,响应模块305基于空闲内存空间响应内存分配请求。可以在应用程序执行启动过程的同时,对目标内存页进行回收处理,实现了内存的提前回收,因此,在应用程序启动过程中,接收到内存分配请求时,可以直接基于内存空间进行内存分配,不需要进行内存回收,避免了启动过程受到内存不足的影响,从而提高应用程序的启动效率。
本申请实施例还提供一种电子设备,请参阅图4,图4为本申请实施例提供的电子设备的第一结构示意图。电子设备400包括处理器401以及存储器402。其中,存储器402与处理器401电性连接。
该处理器401是电子设备400的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或加载存储在存储器402内的计算机程序,以及调用存储在存储器402内的数据,执行电子设备400的各种功能并处理数据,从而对电子设备400进行整体监控。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的计算机程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的计算机程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。其中,存储器402包括内存储器和外存储器,内存储器为电子设备的运行提供内存空间,外储存器是指除计算机内存及CPU缓存以外的储存器,此类储存器一般断电后仍然能保存数据,例如硬盘、软盘、U盘等。
此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
在本申请实施例中,电子设备400中的处理器401会按照如下的步骤,将一个或一个以上的计算机程序的进程对应的指令加载到存储器402中,并由处理器401运行存储在存储器402中的计算机程序,从而实现各种功能,如下:
当检测到基于应用程序触发的启动指令时,获取所述应用程序启动的目标内存需求量;
检测空闲内存空间的大小是否小于所述目标内存需求量;
当所述空闲内存空间的大小小于所述目标内存需求量时,根据所述目标内存需求量从已分配内存空间中确定出目标内存页;
对所述目标内存页进行回收处理,以得到大小与所述目标内存需求量匹配的空闲内存空间;
在所述应用程序的启动过程中,当检测到基于所述应用程序触发的内存分配请求时,基于所述空闲内存空间响应所述内存分配请求。
在一些实施例中,请参阅图5,图5为本申请实施例提供的电子设备的第二结构示意图。电子设备400还包括:射频电路403、显示屏404、控制电路405、输入单元406、音频电路407、传感器408以及电源409。其中,处理器401分别与射频电路403、显示屏404、控制电路405、输入单元406、音频电路407、传感器408以及电源409电性连接。
射频电路403用于收发射频信号,以通过无线通信与网络设备或其他电子设备进行通信。
显示屏404可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图像、文本、图标、视频和其任意组合来构成。
控制电路405与显示屏404电性连接,用于控制显示屏404显示信息。
输入单元406可用于接收输入的数字、字符信息或用户特征信息(例如指纹),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。其中,输入单元406可以包括指纹识别模组。
音频电路407可通过扬声器、传声器提供用户与电子设备之间的音频接口。其中,音频电路407包括麦克风。所述麦克风与所述处理器401电性连接。所述麦克风用于接收用户输入的语音信息。
传感器408用于采集外部环境信息。传感器408可以包括环境亮度传感器、加速度传感器、陀螺仪等传感器中的一种或多种。
电源409用于给电子设备400的各个部件供电。在一些实施例中,电源409可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管图5中未示出,电子设备400还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,电子设备400中的处理器401会按照如下的步骤,将一个或一个以上的计算机程序的进程对应的指令加载到存储器402中,并由处理器401运行存储在存储器402中的计算机程序,从而实现各种功能,如下:
当检测到基于应用程序触发的启动指令时,获取所述应用程序启动的目标内存需求量;
检测空闲内存空间的大小是否小于所述目标内存需求量;
当所述空闲内存空间的大小小于所述目标内存需求量时,根据所述目标内存需求量从已分配内存空间中确定出目标内存页;
对所述目标内存页进行回收处理,以得到大小与所述目标内存需求量匹配的空闲内存空间;
在所述应用程序的启动过程中,当检测到基于所述应用程序触发的内存分配请求时,基于所述空闲内存空间响应所述内存分配请求。
在一些实施例中,获取所述应用程序启动的目标内存需求量之前,处理器401还可以执行:
判断所述应用程序是否为首次启动;
若否,则执行所述获取所述应用程序启动的目标内存需求量;
若是,则启动所述应用程序,并记录所述应用程序的启动操作占用的内存量,作为所述目标内存需求量。
在一些实施例中,对所述目标内存页进行回收处理时,处理器401可以执行:
基于预设线程,对所述目标内存页进行回收处理。
在一些实施例中,基于预设线程,对所述目标内存页进行回收处理之前,处理器401还可以执行:
当所述空闲内存空间的大小小于所述目标内存需求量时,为预设线程添加第一预设标识;
基于预设线程,对所述目标内存页进行回收处理时,处理器401可以执行:
唤醒预设线程,使得所述预设线程基于所述第一预设标识对所述目标内存页进行回收处理。
在一些实施例中,处理器401还可以执行:
检测空闲内存空间的大小是否小于预设阈值;
当所述空闲内存空间的大小小于预设阈值时,为预设线程添加第二预设标识;
唤醒所述预设线程,使得所述预设线程基于所述第二预设标识对已分配内存空间的数据进行压缩处理,得到大小不小于所述预设阈值的空闲内存空间。
在一些实施例中,根据所述目标内存需求量从已分配内存空间中确定出目标内存页时,处理器401可以执行:
若已分配内存空间中的干净内存页的数量小于所述目标内存需求量,则将所述干净内存页作为目标干净内存页,并从所述已分配内存空间的脏内存页中确定出目标脏内存页,将所述目标干净内存页和所述目标脏内存页作为目标内存页;
若已分配内存空间中的干净内存页的数量大于或等于所述目标内存需求量,则根据所述目标内存需求量从所述干净内存页中确定出目标内存页。
在一些实施例中,根据所述目标内存需求量从所述干净内存页中确定出目标内存页时,处理器401可以执行:
确定所述干净内存页中各内存页的最后访问时间;
按照最后访问时间从先到后的顺序,从所述干净内存页中获取大小等于所述目标内存需求量的内存页,作为目标内存页。
由上可知,本申请实施例提供的电子设备,可以在应用程序执行启动过程的同时,对目标内存页进行回收处理,实现了内存的提前回收,因此,在应用程序启动过程中,接收到内存分配请求时,可以直接基于内存空间进行内存分配,不需要进行内存回收,避免了启动过程受到内存不足的影响,从而提高应用程序的启动效率。
本申请实施例还提供一种存储介质,该存储介质存储有计算机程序,当该计算机程序在计算机上运行时,使得该计算机执行上述任一实施例中的内存管理方法,比如:当检测到基于应用程序触发的启动指令时,获取所述应用程序启动的目标内存需求量;检测空闲内存空间的大小是否小于所述目标内存需求量;当所述空闲内存空间的大小小于所述目标内存需求量时,根据所述目标内存需求量从已分配内存空间中确定出目标内存页;对所述目标内存页进行回收处理,以得到大小与所述目标内存需求量匹配的空闲内存空间;在所述应用程序的启动过程中,当检测到基于所述应用程序触发的内存分配请求时,基于所述空闲内存空间响应所述内存分配请求。
在本申请实施例中,存储介质可以是磁碟、光盘、只读存储器(Read Only Memory,ROM)、或者随机存取记忆体(Random Access Memory,RAM)等。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
需要说明的是,对本申请实施例的内存管理方法而言,本领域普通测试人员可以理解实现本申请实施例的内存管理方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,如存储在电子设备的存储器中,并被该电子设备内的至少一个处理器执行,在执行过程中可包括如内存管理方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储器、随机存取记忆体等。
对本申请实施例的内存管理装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。该集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,该存储介质譬如为只读存储器,磁盘或光盘等。
以上对本申请实施例所提供的一种内存管理方法、装置、存储介质以及电子设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种内存管理方法,其特征在于,包括:
当检测到基于应用程序触发的启动指令时,获取所述应用程序启动的目标内存需求量;
检测空闲内存空间的大小是否小于所述目标内存需求量;
当所述空闲内存空间的大小小于所述目标内存需求量时,根据所述目标内存需求量从已分配内存空间中确定出目标内存页;
在所述应用程序的启动过程中,基于多次内存分配请求进行内存分配,其中,在检测到基于所述应用程序触发的第一次内存分配请求时,应用程序基于第一次分配的内存启动,当前空闲内存空间的大小满足所述第一次内存分配请求;
在所述应用程序基于第一次分配的内存启动的同时,对所述目标内存页进行回收处理,以得到大小与所述目标内存需求量匹配的空闲内存空间,并在再次检测到基于所述应用程序触发的内存分配请求时,基于所述空闲内存空间响应所述内存分配请求。
2.根据权利要求1所述的内存管理方法,其特征在于,所述获取所述应用程序启动的目标内存需求量之前,还包括:
判断所述应用程序是否为首次启动;
若否,则执行所述获取所述应用程序启动的目标内存需求量;
若是,则启动所述应用程序,并记录所述应用程序的启动操作占用的内存量,作为所述目标内存需求量。
3.根据权利要求1所述的内存管理方法,其特征在于,所述对所述目标内存页进行回收处理,包括:
基于预设线程,对所述目标内存页进行回收处理。
4.根据权利要求3所述的内存管理方法,其特征在于,所述基于预设线程,对所述目标内存页进行回收处理之前,还包括:
当所述空闲内存空间的大小小于所述目标内存需求量时,为预设线程添加第一预设标识;
所述基于预设线程,对所述目标内存页进行回收处理,包括:
唤醒预设线程,使得所述预设线程基于所述第一预设标识对所述目标内存页进行回收处理。
5.根据权利要求4所述的内存管理方法,其特征在于,还包括:
检测空闲内存空间的大小是否小于预设阈值;
当所述空闲内存空间的大小小于预设阈值时,为预设线程添加第二预设标识;
唤醒所述预设线程,使得所述预设线程基于所述第二预设标识对已分配内存空间的数据进行压缩处理,得到大小不小于所述预设阈值的空闲内存空间。
6.根据权利要求1所述的内存管理方法,其特征在于,所述根据所述目标内存需求量从已分配内存空间中确定出目标内存页,包括:
若已分配内存空间中的干净内存页的数量小于所述目标内存需求量,则将所述干净内存页作为目标干净内存页,并从所述已分配内存空间的脏内存页中确定出目标脏内存页,将所述目标干净内存页和所述目标脏内存页作为目标内存页;
若已分配内存空间中的干净内存页的数量大于或等于所述目标内存需求量,则根据所述目标内存需求量从所述干净内存页中确定出目标内存页。
7.根据权利要求6所述的内存管理方法,其特征在于,所述根据所述目标内存需求量从所述干净内存页中确定出目标内存页,包括:
确定所述干净内存页中各内存页的最后访问时间;
按照最后访问时间从先到后的顺序,从所述干净内存页中获取大小等于所述目标内存需求量的内存页,作为目标内存页。
8.一种内存管理装置,其特征在于,包括:
获取模块,用于当检测到基于应用程序触发的启动指令时,获取所述应用程序启动的目标内存需求量;
第一检测模块,用于检测空闲内存空间的大小是否小于所述目标内存需求量;
确定模块,用于当所述空闲内存空间的大小小于所述目标内存需求量时,根据所述目标内存需求量从已分配内存空间中确定出目标内存页;
回收处理模块,用于在所述应用程序的启动过程中,基于多次内存分配请求进行内存分配,其中,在检测到基于所述应用程序触发的第一次内存分配请求时,应用程序基于第一次分配的内存启动,当前空闲内存空间的大小满足所述第一次内存分配请求;在所述应用程序基于第一次分配的内存启动的同时,对所述目标内存页进行回收处理,以得到大小与所述目标内存需求量匹配的空闲内存空间;
响应模块,用于在再次检测到基于所述应用程序触发的内存分配请求时,基于所述空闲内存空间响应所述内存分配请求。
9.一种存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1至7任一项所述的内存管理方法。
10.一种电子设备,包括处理器、存储器,所述存储器有计算机程序,其特征在于,所述处理器通过调用所述计算机程序,用于执行如权利要求1至7任一项所述的内存管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911260091.1A CN111078406B (zh) | 2019-12-10 | 2019-12-10 | 内存管理方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911260091.1A CN111078406B (zh) | 2019-12-10 | 2019-12-10 | 内存管理方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111078406A CN111078406A (zh) | 2020-04-28 |
CN111078406B true CN111078406B (zh) | 2023-01-10 |
Family
ID=70313590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911260091.1A Active CN111078406B (zh) | 2019-12-10 | 2019-12-10 | 内存管理方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111078406B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416549A (zh) * | 2020-11-18 | 2021-02-26 | 珠海格力电器股份有限公司 | 进程管理方法、装置、电子设备和存储介质 |
CN112667408A (zh) * | 2021-01-19 | 2021-04-16 | 北京字节跳动网络技术有限公司 | 一种内存分配方法及终端设备 |
CN112764930A (zh) * | 2021-01-22 | 2021-05-07 | 山东云海国创云计算装备产业创新中心有限公司 | 一种内存分配方法、装置、设备及计算机可读存储介质 |
CN113064724A (zh) * | 2021-03-26 | 2021-07-02 | 华控清交信息科技(北京)有限公司 | 一种内存分配管理方法、装置和用于内存分配管理的装置 |
CN113392140B (zh) * | 2021-06-11 | 2023-05-09 | 上海达梦数据库有限公司 | 一种数据排序方法、装置、电子设备及存储介质 |
CN113849311B (zh) * | 2021-09-28 | 2023-11-17 | 苏州浪潮智能科技有限公司 | 内存空间管理方法、装置、计算机设备和存储介质 |
CN114327867B (zh) * | 2021-11-29 | 2023-11-10 | 苏州浪潮智能科技有限公司 | 一种内存资源的处理方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528216A (zh) * | 2016-10-26 | 2017-03-22 | 深圳市金立通信设备有限公司 | 一种启动应用程序的方法及终端 |
CN109857555A (zh) * | 2019-01-15 | 2019-06-07 | Oppo广东移动通信有限公司 | 内存回收方法及装置、存储介质和电子设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102236603B (zh) * | 2010-04-29 | 2014-12-17 | 国际商业机器公司 | 虚拟化环境中垃圾回收的方法和系统 |
CN103778007B (zh) * | 2014-02-14 | 2018-06-08 | 北京猎豹移动科技有限公司 | 一种应用管理方法及装置 |
CN105446814A (zh) * | 2014-09-30 | 2016-03-30 | 青岛海信移动通信技术股份有限公司 | 一种缓存回收方法和装置 |
CN105701025B (zh) * | 2015-12-31 | 2019-07-23 | 华为技术有限公司 | 一种内存回收方法及装置 |
CN107885666B (zh) * | 2016-09-28 | 2021-07-20 | 华为技术有限公司 | 一种内存管理方法和装置 |
CN107766151A (zh) * | 2017-09-28 | 2018-03-06 | 郑州云海信息技术有限公司 | 一种页面换出方法 |
CN108829523A (zh) * | 2018-06-26 | 2018-11-16 | 迈普通信技术股份有限公司 | 内存资源分配方法、装置、电子设备及可读存储介质 |
-
2019
- 2019-12-10 CN CN201911260091.1A patent/CN111078406B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528216A (zh) * | 2016-10-26 | 2017-03-22 | 深圳市金立通信设备有限公司 | 一种启动应用程序的方法及终端 |
CN109857555A (zh) * | 2019-01-15 | 2019-06-07 | Oppo广东移动通信有限公司 | 内存回收方法及装置、存储介质和电子设备 |
Non-Patent Citations (1)
Title |
---|
基于Android智慧校园系统的研究与实现;施晓鸣;《中国优秀硕士学位论文全文数据库 信息科技辑》;20190515;I138-264 * |
Also Published As
Publication number | Publication date |
---|---|
CN111078406A (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111078406B (zh) | 内存管理方法、装置、存储介质及电子设备 | |
CN111078586B (zh) | 内存回收方法、装置、存储介质及电子设备 | |
CN110888746B (zh) | 内存管理方法、装置、存储介质及电子设备 | |
CN106484472B (zh) | 一种内存回收方法及终端 | |
CN111158910B (zh) | 内存管理方法、装置、存储介质及电子设备 | |
KR102048329B1 (ko) | 애플리케이션 프로그램 실행 방법 및 장치 | |
KR20180097674A (ko) | 메모리 리클레임 방법 및 장치 | |
EP3506105B1 (en) | Method and device for processing a memory and storage medium | |
KR20150045348A (ko) | 전자 장치의 메모리 압축 방법 및 장치 | |
US10698837B2 (en) | Memory processing method and device and storage medium | |
CN111274039B (zh) | 内存回收方法、装置、存储介质及电子设备 | |
CN110764906B (zh) | 内存回收处理方法、装置、电子设备以及存储介质 | |
CN110018902B (zh) | 内存处理方法和装置、电子设备、计算机可读存储介质 | |
CN110018900B (zh) | 内存处理方法和装置、电子设备、计算机可读存储介质 | |
EP3926466A1 (en) | Electronic device which prefetches application and method therefor | |
CN111090521A (zh) | 内存分配方法、装置、存储介质及电子设备 | |
CN111078410A (zh) | 内存分配方法、装置、存储介质及电子设备 | |
CN114185494A (zh) | 内存匿名页的处理方法、电子设备及可读存储介质 | |
CN111078587B (zh) | 内存分配方法、装置、存储介质及电子设备 | |
CN112445766A (zh) | 一种终端碎片整理方法、装置以及终端 | |
WO2019128542A1 (zh) | 应用处理方法、电子设备、计算机可读存储介质 | |
CN110955614A (zh) | 文件缓存的回收方法、装置、存储介质及终端 | |
CN111078405B (zh) | 内存分配方法、装置、存储介质及电子设备 | |
CN111008079B (zh) | 进程管理方法、装置、存储介质及电子设备 | |
CN111381953B (zh) | 进程管理方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |