CN110609748A - 一种内存分配方法、电子设备及存储介质 - Google Patents

一种内存分配方法、电子设备及存储介质 Download PDF

Info

Publication number
CN110609748A
CN110609748A CN201910838049.7A CN201910838049A CN110609748A CN 110609748 A CN110609748 A CN 110609748A CN 201910838049 A CN201910838049 A CN 201910838049A CN 110609748 A CN110609748 A CN 110609748A
Authority
CN
China
Prior art keywords
memory
data
memory area
area
application
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.)
Granted
Application number
CN201910838049.7A
Other languages
English (en)
Other versions
CN110609748B (zh
Inventor
李川
王旭峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hisense Mobile Communications Technology Co Ltd
Original Assignee
Hisense Mobile Communications Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hisense Mobile Communications Technology Co Ltd filed Critical Hisense Mobile Communications Technology Co Ltd
Priority to CN201910838049.7A priority Critical patent/CN110609748B/zh
Publication of CN110609748A publication Critical patent/CN110609748A/zh
Application granted granted Critical
Publication of CN110609748B publication Critical patent/CN110609748B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)

Abstract

本发明实施例提供一种内存分配方法、电子设备及存储介质,属于计算机技术领域。本发明实施例在电子设备的内存空间中预先划定一段连续内存区域作为第一内存区域,第一内存区域用于容纳不可移动数据。在为内存申请分配存储空间时,根据内存申请的数据存储信息为需要保存不可移动数据的内存申请优先分配第一内存区域内的存储空间,尽量使不可移动数据保存在第一内存区域内,以避免不可移动数据分散在整个内存空间中,在很大程度上缓解内存碎片过多时无法通过整合内存空间来减少内存碎片的问题,有利于高效利用内存空间,避免浪费内存空间。

Description

一种内存分配方法、电子设备及存储介质
技术领域
本发明涉及计算机技术领域,特别是涉及一种内存分配方法、电子设备及存储介质。
背景技术
随着电子设备智能化的发展和所能实现的功能的增加,电子设备的操作系统越来越复杂,电子设备承载的应用程序越来越多。电子设备在运行过程中会频繁地申请和释放内存,在长时间运行过程中,电子设备的内存空间会产生大量内存碎片,导致电子设备具有新的内存需求时申请不到内存或需要较长的时间才能申请到内存,表现为电子设备出现卡顿现象,甚至引起系统崩溃。
当电子设备的内存空间中的内存碎片过多时,通常可以对内存空间进行整合,将被占用的内存区域整合在一起,以减少内存碎片。
但是,被占用的内存区域中可能存储有可移动数据,也可能存储有不可移动数据,并且电子设备运行的时间越长,内存中存储的不可移动数据的数量越多。由于不可移动数据所占用的内存区域无法进行整合,因此电子设备长时间使用后,通过整合内存空间的方式并不能有效解决内存碎片过多的问题。
发明内容
本发明实施例提供了一种内存分配方法、电子设备及存储介质,用以解决现有技术中无法通过整合内存空间减少内存碎片的问题。
第一方面,本发明实施例提供了一种内存分配方法,包括:
当接收到内存申请时,确定所述内存申请要保存的数据的数据存储信息;
根据所述数据存储信息为所述内存申请分配存储空间;所述存储空间位于第一内存区域或第二内存区域;所述第一内存区域为在内存空间中预先划定的用于容纳不可移动数据的连续内存区域,所述第二内存区域为内存空间中除第一内存区域之外的内存区域,其中所述不可移动数据为存储在内存空间后不可改变存储地址的数据。
本发明实施例提供的内存分配方法,在电子设备的内存空间中预先划定一段连续内存区域作为第一内存区域,第一内存区域用于容纳不可移动数据。在为内存申请分配存储空间时,根据内存申请的数据存储信息为需要保存不可移动数据的内存申请优先分配第一内存区域内的存储空间,尽量使不可移动数据保存在第一内存区域内,以避免不可移动数据分散在整个内存空间中,在很大程度上缓解内存碎片过多时无法通过整合内存空间来减少内存碎片的问题,有利于高效利用内存空间,避免浪费内存空间。
在一种可能的实现方式中,所述数据存储信息包括数据类型;所述根据所述数据存储信息为所述内存申请分配存储空间,包括:
若所述数据类型为不可移动数据,在所述第一内存区域为所述内存申请分配存储空间;或
若所述数据类型为可移动数据,在所述第二内存区域为所述内存申请分配存储空间。
上述方法中,若内存申请要保存的数据为不可移动数据,在第一内存区域为内存申请分配存储空间,若内存申请要保存的数据为可移动数据,在第二内存区域为内存申请分配存储空间,从而使不可移动数据均保存在第一内存区域内,在第二内存区域内仅保存可移动数据,有效解决因不可移动数据分散在整个内存空间而导致无法通过整合内存空间来减少内存碎片的问题。
在一种可能的实现方式中,所述数据存储信息包括数据类型和数据大小;所述根据所述数据存储信息为所述内存申请分配存储空间,包括:
若所述数据类型为不可移动数据,且所述数据大小大于或等于第一内存区域内的空闲区域,在所述第二内存区域内为所述内存申请分配存储空间;或
若所述数据类型为可移动数据,且所述数据大小大于或等于第二内存区域内的空闲区域,在所述第一内存区域为所述内存申请分配存储空间;或
若所述数据类型为不可移动数据,且所述数据大小小于或等于设定阈值,在所述第一内存区域为所述内存申请分配存储空间。
上述方法中,若内存申请要保存的数据为不可移动数据,但第一内存区域内没有足够的空闲区域用于保存该不可移动数据,则可以在第二内存区域内为该内存申请分配存储空间;若内存申请要保存的数据为可移动数据,但第二内存区域内没有足够的空闲区域用于保存该可移动数据,则可以在第一内存区域内为该内存申请分配存储空间,从而可以实现内存区域的灵活使用,避免浪费内存空间。
由于用于容纳不可移动数据的第一内存区域通常较小,若内存申请要保存的数据为不可移动数据,且该不可移动数据的数据大小较小,则在第一内存区域为内存申请分配存储空间。若内存申请要保存的数据为不可移动数据,但该不可移动数据的数据大小过大,为了避免该不可移动数据在第一内存区域内占用较多的内存空间,则可以不在第一内存区域为该内存申请分配存储空间。
在一种可能的实现方式中,若所述数据类型为不可移动数据,且所述数据大小小于或等于设定阈值,在所述第一内存区域为所述内存申请分配存储空间,包括:
若所述数据大小大于或等于第一内存区域内的空闲区域,且所述第一内存区域内包含可移动数据,且所述可移动数据的数据大小小于第二内存区域内的空闲区域,将所述可移动数据迁移至所述第二内存区域,在所述第一内存区域为所述内存申请分配存储空间;或
若所述数据大小大于或等于第一内存区域内的空闲区域,且所述第一内存区域内包含可移动数据,且所述可移动数据的数据大小大于或等于第二内存区域内的空闲区域,清除所述可移动数据,在所述第一内存区域为所述内存申请分配存储空间。
上述方法中,若内存申请要保存的数据为不可移动数据,且该不可移动数据的数据大小较小,但第一内存区域内没有足够的空闲区域用于保存该不可移动数据,则可以先将第一内存区域中保存的可移动数据迁移至第二内存区域,再在第一内存区域内为该内存申请分配存储空间。若第二内存区域没有足够的空闲区域用于保存需要迁移的可移动数据,则可以清除该可移动数据,释放第一内存区域内对应的内存空间,用于保存上述不可移动数据。该方法在第一内存区域内空闲区域不足时,将第一内存区域内空闲区域中保存的可移动数据迁移或清除,保证第一内存区域优先存储不可移动数据。
在一种可能的实现方式中,通过如下方式确定所述内存申请要保存的数据的数据类型:
根据所述内存申请中的数据类型标记位,确定所述内存申请要保存的数据的数据类型。
上述方法中,在内存申请中增加了数据类型标记位,用于标记内存申请要保存的数据的数据类型,有利于快速获取内存申请对应的数据类型,便于根据数据类型为内存申请分配存储空间。
第二方面,本发明实施例提供了一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
当接收到内存申请时,确定所述内存申请要保存的数据的数据存储信息;
根据所述数据存储信息为所述内存申请分配存储空间;所述存储空间位于第一内存区域或第二内存区域;所述第一内存区域为在内存空间中预先划定的用于容纳不可移动数据的连续内存区域,所述第二内存区域为内存空间中除第一内存区域之外的内存区域,其中所述不可移动数据为存储在内存空间后不可改变存储地址的数据。
在一种可能的实现方式中,所述数据存储信息包括数据类型;
所述处理器具体执行:
若所述数据类型为不可移动数据,在所述第一内存区域为所述内存申请分配存储空间;或
若所述数据类型为可移动数据,在所述第二内存区域为所述内存申请分配存储空间。
在一种可能的实现方式中,所述数据存储信息包括数据类型和数据大小;
所述处理器具体执行:
若所述数据类型为不可移动数据,且所述数据大小大于或等于第一内存区域内的空闲区域,在所述第二内存区域内为所述内存申请分配存储空间;或
若所述数据类型为可移动数据,且所述数据大小大于或等于第二内存区域内的空闲区域,在所述第一内存区域为所述内存申请分配存储空间;或
若所述数据类型为不可移动数据,且所述数据大小小于或等于设定阈值,在所述第一内存区域为所述内存申请分配存储空间。
在一种可能的实现方式中,所述处理器具体执行:
若所述数据大小大于或等于第一内存区域内的空闲区域,且所述第一内存区域内包含可移动数据,且所述可移动数据的数据大小小于第二内存区域内的空闲区域,将所述可移动数据迁移至所述第二内存区域,在所述第一内存区域为所述内存申请分配存储空间;或
若所述数据大小大于或等于第一内存区域内的空闲区域,且所述第一内存区域内包含可移动数据,且所述可移动数据的数据大小大于或等于第二内存区域内的空闲区域,清除所述可移动数据,在所述第一内存区域为所述内存申请分配存储空间。
在一种可能的实现方式中,所述处理器还执行:
根据所述内存申请中的数据类型标记位,确定所述内存申请要保存的数据的数据类型。
第三方面,本发明实施例提供了一种电子设备,包括:
信息确定单元,用于当接收到内存申请时,确定所述内存申请要保存的数据的数据存储信息;
内存分配单元,用于根据所述数据存储信息为所述内存申请分配存储空间;所述存储空间位于第一内存区域或第二内存区域;所述第一内存区域为在内存空间中预先划定的用于容纳不可移动数据的连续内存区域,所述第二内存区域为内存空间中除第一内存区域之外的内存区域,其中所述不可移动数据为存储在内存空间后不可改变存储地址的数据。
在一种可能的实现方式中,所述数据存储信息包括数据类型;
所述内存分配单元,还用于:
若所述数据类型为不可移动数据,在所述第一内存区域为所述内存申请分配存储空间;或
若所述数据类型为可移动数据,在所述第二内存区域为所述内存申请分配存储空间。
在一种可能的实现方式中,所述数据存储信息包括数据类型和数据大小;
所述内存分配单元,还用于:
若所述数据类型为不可移动数据,且所述数据大小大于或等于第一内存区域内的空闲区域,在所述第二内存区域内为所述内存申请分配存储空间;或
若所述数据类型为可移动数据,且所述数据大小大于或等于第二内存区域内的空闲区域,在所述第一内存区域为所述内存申请分配存储空间;或
若所述数据类型为不可移动数据,且所述数据大小小于或等于设定阈值,在所述第一内存区域为所述内存申请分配存储空间。
在一种可能的实现方式中,所述内存分配单元,还用于:
若所述数据大小大于或等于第一内存区域内的空闲区域,且所述第一内存区域内包含可移动数据,且所述可移动数据的数据大小小于第二内存区域内的空闲区域,将所述可移动数据迁移至所述第二内存区域,在所述第一内存区域为所述内存申请分配存储空间;或
若所述数据大小大于或等于第一内存区域内的空闲区域,且所述第一内存区域内包含可移动数据,且所述可移动数据的数据大小大于或等于第二内存区域内的空闲区域,清除所述可移动数据,在所述第一内存区域为所述内存申请分配存储空间。
在一种可能的实现方式中,所述信息确定单元,还用于:
根据所述内存申请中的数据类型标记位,确定所述内存申请要保存的数据的数据类型。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现上述
第一方面中任意一种内存分配方法的步骤。
第二方面至第四方面中任意一种实现方式所带来的技术效果可参见第一方面中对应的实现方式所带来的技术效果,此处不再赘述。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为理想状态下整合内存空间的效果示意图;
图2为现有技术中整合内存空间的效果示意图;
图3为本发明实施例提供的一种内存分配方法的流程示意图;
图4为本发明实施例对内存空间进行划分的示意图;
图5为本发明实施例中整合内存空间的效果示意图;
图6为本发明实施例中第一内存区域内保存有可移动数据的示意图;
图7为本发明实施例中将第一内存区域内的可移动数据迁移至第二内存区域的示意图;
图8为本发明实施例提供的另一种内存分配方法的流程示意图;
图9为本发明实施例提供的另一种内存分配方法的流程示意图;
图10为本发明实施例提供的一种电子设备的结构框图;
图11为本发明实施例提供的另一种电子设备的结构框图;
图12为本发明实施例提供的另一种电子设备的结构框图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
以下对本发明实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)内存空间:电子设备中的可执行存储器提供的存储空间,用于保存正在电子设备中运行进程的程序和数据。
(2)内存碎片:由于电子设备在运行过程中会频繁地申请和释放内存,导致内存空间中出现小且不连续的空闲内存区域,这些空闲内存区域不可以再次被分配,这类不可用的空闲内存区域称为内存碎片。
(3)不可移动数据:指存储在内存空间后不可再改变存储地址的数据;例如,Linux操作系统中驱动本身或系统内核所使用的数据,比如IO设备映射、网络消息块或文件描述符等。
(4)可移动数据:指存储在内存空间后可以改变存储地址或者迁移至另一存储地址的数据。
需要说明的是,下述本发明实施例描述的应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
电子设备在运行过程中会频繁地申请和释放内存,在长时间运行过程中,电子设备的内存空间会产生大量内存碎片,当电子设备的内存空间中的内存碎片过多时,通常可以对内存空间进行整合,将被占用的内存区域整合在一起,以减少内存碎片。
如图1所示,白色区域为内存空间中的空闲区域,灰色区域为被占用的内存区域。理想状态下,内存空间经过整合后,将被占用的内存区域将被整合在一起,可以减少内存碎片,得到较多连续的空闲内存区域可供使用。
但是,在实际使用中,情况往往如图2所示,白色区域为内存空间中的空闲区域,灰色区域和黑色区域均为被占用的内存区域,灰色区域为存储有可移动数据的内存区域,黑色区域为存储有不可移动数据的内存区域。由于不可移动数据不可改变存储地址,其所占用的内存区域无法进行整合,因此,现有技术中,电子设备长时间使用后,通过整合内存空间的方式并不能有效解决内存碎片过多的问题。
为了解决上述问题,本发明实施例提供了一种内存分配方法、电子设备及存储介质,在电子设备的内存空间中预先划定一段连续内存区域作为第一内存区域,第一内存区域用于容纳不可移动数据。在为内存申请分配存储空间时,根据内存申请的数据存储信息为需要保存不可移动数据的内存申请优先分配第一内存区域内的存储空间,尽量使不可移动数据保存在第一内存区域内,以避免不可移动数据分散在整个内存空间中,以解决现有技术中无法通过整合内存空间减少内存碎片的问题。
以下首先介绍本发明实施例提供的内存分配方法,该内存分配方法可以应用于计算机、智能手机、平板电脑、车载移动终端等电子设备。如图3所示,该方法包括如下步骤:
步骤S301,当接收到内存申请时,确定内存申请要保存的数据的数据存储信息。
在电子设备运行过程中,操作系统在加载IO设备驱动或系统内核执行某些操作时,需要将所要使用的数据暂时保存到内存空间中,会向内存管理模块提出内存申请;应用程序启动时或加载数据时,也需要将所要使用的数据暂时保存到内存空间中,会通过应用管理模块向内存管理模块提出内存申请。内存申请中携带有要保存的数据的数据存储信息。
上述内存管理模块用于为接收到的内存申请分配内存空间,以及对内存碎片进行整合等。当内存管理模块接收到内存申请时,确定内存申请要保存的数据的数据存储信息。在一些实施例中,数据存储信息可以包括数据类型。在另一些实施例中,数据存储信息可以包括数据类型和数据大小。
其中,数据大小用于指示要保存的数据需占用的存储空间的大小。数据类型用于指示要保存的数据是可移动数据还是不可移动数据,不可移动数据为存储在内存空间后不可改变存储地址的数据。例如,可以在内存申请中增加了数据类型标记位,用于标记内存申请要保存的数据的数据类型。示例性地,应用程序在通过应用管理模块向内存管理模块提出内存申请时,应用管理模块可以根据应用程序要保存的数据的数据类型在内存申请中增加数据类型标记位,如该数据类型标记位为“1”时,表示要保存的数据的数据类型为不可移动数据;该数据类型标记位为“0”时,表示要保存的数据的数据类型为可移动数据。
内存管理模块接收到应用管理模块发送的内存申请,根据内存申请中的数据类型标记位,确定内存申请要保存的数据的数据类型。该方式可以快速获取内存申请的数据类型,便于根据数据类型为内存申请分配存储空间。
如果是系统内核提出的内存申请,内存申请中可能没有数据类型标记位,而系统内核要保存的数据通常是不可移动数据。因此,若内存管理模块接收到没有数据类型标记位的内存申请,则可以默认为该内存申请要保存的数据的数据类型为不可移动数据。
步骤S302,根据数据存储信息为内存申请分配存储空间。
其中,存储空间位于第一内存区域或第二内存区域。所述第一内存区域为在内存空间中预先划定的用于容纳不可移动数据的连续内存区域,所述第二内存区域为内存空间中除第一内存区域之外的内存区域。具体地,如图4所示,可以预先将内存空间划分为第一内存区域和第二内存区域。第一内存区域是用于容纳不可移动数据的连续内存区域,也可称为不可移动内存区域,相对应地,第二内存区域用于容纳可移动数据。考虑到一般情况下,需要保存的不可移动数据可能远少于可移动数据,因此,第一内存区域的空间大小可以小于第二内存区域的空间大小。
在上述实施例中,在电子设备的内存空间中预先划定一段连续内存区域作为第一内存区域,第一内存区域用于容纳不可移动数据。在为内存申请分配存储空间时,根据内存申请的数据存储信息为需要保存不可移动数据的内存申请优先分配第一内存区域内的存储空间,尽量使不可移动数据保存在第一内存区域内,以避免不可移动数据分散在整个内存空间中,在很大程度上缓解内存碎片过多时无法通过整合内存空间来减少内存碎片的问题,有利于高效利用内存空间,避免浪费内存空间。
在一种可选的实施例中,如果数据存储信息包括要保存的数据的数据类型,可以根据数据类型为内存申请分配存储空间。例如,如果数据类型为不可移动数据,在第一内存区域为内存申请分配存储空间;如果数据类型为可移动数据,在第二内存区域为内存申请分配存储空间。采用该实施例提供的方法,可以使不可移动数据均保存在第一内存区域内,在第二内存区域内仅保存可移动数据。如图5所示,在进行内存整合时,可以将第二内存区域中被占用的内存区域整合在一起,以减少内存碎片,从而有效解决因不可移动数据分散在整个内存空间而导致无法通过整合内存空间来减少内存碎片的问题。
在另一种可选的实施例中,如果数据存储信息包括要保存的数据的数据类型和数据大小,可以结合数据类型和数据大小为内存申请分配存储空间。例如,考虑到可能会存在第一内存区域已被存满,而第二内存区域的空闲区域较多的情况,此时可以将不可移动数据保存到第二内存区域中。具体地,如果数据类型为不可移动数据,且数据大小小于第一内存区域内的空闲区域,则在第一内存区域内为该内存申请分配存储空间;如果数据类型为不可移动数据,且数据大小大于或等于第一内存区域内的空闲区域,则在第二内存区域内为所述内存申请分配存储空间。
同理,考虑到可能会存在第二内存区域已被存满,而第一内存区域的空闲区域较多的情况,此时可以将可移动数据保存到第一内存区域中。具体地,如果数据类型为可移动数据,且数据大小小于第二内存区域内的空闲区域,则在第二内存区域内为该内存申请分配存储空间;如果数据类型为可移动数据,且数据大小大于或等于第二内存区域内的空闲区域,则在第一内存区域为内存申请分配存储空间,如图6所示,第一内存区域中的灰色区域保存有可移动数据。
在该实施例中,若内存申请要保存的数据为不可移动数据,但第一内存区域内没有足够的空闲区域用于保存该不可移动数据,则可以在第二内存区域内为该内存申请分配存储空间;若内存申请要保存的数据为可移动数据,但第二内存区域内没有足够的空闲区域用于保存该可移动数据,则可以在第一内存区域内为该内存申请分配存储空间,从而可以实现内存区域的灵活使用,避免浪费内存空间。
在另一种可选的实施例中,考虑到通常用于容纳不可移动数据的第一内存区域通常较小,若内存申请要保存的数据为不可移动数据,但该不可移动数据的数据大小较大,则可能会在有限的第一内存区域内占用较多的存储空间。一般来说,这类较大的不可移动数据通常占用内存空间的时间很短,很快就会释放掉内存空间,因此可以在第二内存区域内为较大的不可移动数据分配存储空间。具体地,若内存申请的数据类型为不可移动数据,且数据大小小于或等于设定阈值,则在第一内存区域为该内存申请分配存储空间;若内存申请的数据类型为不可移动数据,且数据大小大于设定阈值,则在第二内存区域为该内存申请分配存储空间,以避免较大的不可移动数据在第一内存区域内占用较多的内存空间。
进一步地说,如果内存申请的数据类型为不可移动数据,且数据大小小于或等于设定阈值,则可以在第一内存区域为该内存申请分配存储空间。此时,若第一内存区域内没有足够的空闲区域用于保存该不可移动数据,则可以先将第一内存区域中保存的可移动数据迁移至第二内存区域,再在第一内存区域内为该内存申请分配存储空间,如图7所示。
具体地说,若内存申请的数据类型为不可移动数据,且数据大小小于或等于设定阈值,且数据大小小于第一内存区域内的空闲区域,则直接在第一内存区域为内存申请分配存储空间;若内存申请的数据类型为不可移动数据,且数据大小小于或等于设定阈值,且数据大小大于或等于第一内存区域内的空闲区域,且第一内存区域内包含可移动数据,且可移动数据的数据大小小于第二内存区域内的空闲区域,将可移动数据迁移至第二内存区域,再在第一内存区域为内存申请分配存储空间。
如果在将可移动数据迁移至第二内存区域时,第二内存区域也没有足够的空闲区域用于容纳该可移动数据,此时可以根据需要进行内存回收,即可以清除该可移动数据,回收对应的存储空间,用于保存不可移动数据,进而保证第一内存区域优先存储不可移动数据。具体地,若内存申请的数据类型为不可移动数据,且数据大小小于或等于设定阈值,且数据大小大于或等于第一内存区域内的空闲区域,且第一内存区域内包含可移动数据,且可移动数据的数据大小大于或等于第二内存区域内的空闲区域,清除可移动数据,在该第一内存区域为该内存申请分配存储空间。
为了更便于理解,下文通过两个具体实施例详细说明本申请实施例提供的内存分配方法。
在一个具体实施例中,如图8所示,该方法包括如下步骤:
步骤S801,当接收到内存申请时,确定内存申请要保存的数据的数据类型和数据大小。
步骤S802,根据数据类型判断要保存的数据是否为不可移动数据;如果是,执行步骤S803;如果否,执行步骤S807。
步骤S803,判断要保存的数据的数据大小是否小于第一内存区域内的空闲区域;如果是,执行步骤S806;如果否,执行步骤S804。
其中,第一内存区域为在内存空间中预先划定的用于容纳不可移动数据的连续内存区域。例如,可以在电子设备开机时将电子设备的内存空间划分为第一内存区域和第二内存区域。第一内存区域的大小可以根据经验值或试验测试值确定,或者根据电子设备上次运行过程中不可移动数据的最大量确定。例如,可以在电子设备出厂前,通过MTBF(MeanTime Between Failure,平均故障间隔时间)测验模拟用户使用电子设备的极限情况,经过一定测验时间(如48小时)后统计内存空间中不可移动数据所占用的内存空间,根据不可移动数据所占用的内存空间确定第一内存区域的大小。对于部分电子设备,第一内存区域的大小可以设定在256M~512M之间。
步骤S803的目的是确定第一内存区域内是否有足够的空闲区域容纳该不可移动数据。如果要保存的不可移动数据的数据大小为100K,第一内存区域内的空闲区域的大小为1M,即要保存的不可移动数据的数据大小小于第二内存区域内的空闲区域,则可以认为第一内存区域内有足够的空闲区域容纳该不可移动数据。如果要保存的不可移动数据的数据大小为200K,第一内存区域内的空闲区域的大小为128K,即要保存的不可移动数据的数据大小大于第一内存区域内的空闲区域,则可以认为第一内存区域内没有足够的空闲区域容纳该不可移动数据。
步骤S804,判断第一内存区域内是否包含可移动数据;如果是,执行步骤805;如果否,执行步骤S808。
步骤S805,将可移动数据迁移至第二内存区域。
若第一内存区域内包含多个可移动数据,可以按照可移动数据的大小迁移一个或多个可移动数据至第二内存区域,直至第一内存区域中的空闲区域大于要保存的数据的数据大小。
步骤S806,在第一内存区域为该内存申请分配存储空间。
向提出内存申请的应用管理模块或系统内核返回分配的存储空间的内存地址。
步骤S807,判断要保存的数据的数据大小是否小于第二内存区域内的空闲区域;如果是,执行步骤S808;如果否,执行步骤S806。
例如,如果要保存的可移动数据的数据大小为1M,第二内存区域内的空闲区域的大小为128M,即要保存的可移动数据的数据大小小于第二内存区域内的空闲区域,则可以认为第二内存区域内有足够的空闲区域容纳该可移动数据。如果要保存的可移动数据的数据大小为5M,第二内存区域内的空闲区域的大小为3M,即要保存的可移动数据的数据大小大于第二内存区域内的空闲区域,则可以认为第二内存区域内没有足够的空闲区域容纳该可移动数据。
如果第二内存区域内有足够的空闲区域容纳该可移动数据,则在第二内存区域为该内存申请分配存储空间,并向提出内存申请的应用管理模块或系统内核返回分配的存储空间的内存地址。如果第二内存区域内没有足够的空闲区域容纳该可移动数据,则在第一内存区域为该内存申请分配存储空间,并向提出内存申请的应用管理模块或系统内核返回分配的存储空间的内存地址。
步骤S808,在第二内存区域为该内存申请分配存储空间。
在另一个具体实施例中,如图9所示,该方法包括如下步骤:
步骤S901,当接收到内存申请时,确定内存申请要保存的数据的数据类型和数据大小。
步骤S902,根据数据类型判断要保存的数据是否为不可移动数据;如果是,执行步骤S903;如果否,执行步骤S907。
步骤S903,判断要保存的数据的数据大小是否大于设定阈值;如果是,执行步骤S908,如果否,执行步骤S904。
内存管理模块一般以内存页为单位管理内存空间,为内存申请分配的存储空间是内存页的整数倍,可以根据需要灵活地设置内存页的大小,如可以设置每个内存页的大小是4K。要保存的数据的数据大小也可以以内存页为单位计算,例如,数据大小的设定阈值可以是64个内存页或128个内存页。如果以字节为单位,数据大小的设定阈值可以是256K或512K。如果要保存的数据的数据大小大于该设定阈值,说明要保存的数据的数据大小过大,可以在第二内存区域为该内存申请分配存储空间。
步骤S904,判断要保存的数据的数据大小是否小于第一内存区域内的空闲区域;如果是,执行步骤S911;如果否,执行步骤S905。
步骤S905,判断第一内存区域内是否包含可移动数据;如果是,执行步骤S906;如果否,执行步骤S908。
如果第一内存区域内不包含可移动数据,可以在第二内存区域内为该内存申请分配存储空间。
步骤S906,判断可移动数据的数据大小是否小于第二内存区域内的空闲区域;如果是,执行步骤S909;如果否,执行步骤S910。
步骤S909,将可移动数据迁移至第二内存区域。
如果可移动数据的数据大小小于第二内存区域内的空闲区域,第二内存区域内有足够的空闲区域容纳可移动数据,则将可移动数据迁移至第二内存区域,释放第一内存区域内相应的存储空间。
步骤S910,清除该可移动数据。
如果可移动数据的数据大小大于第二内存区域内的空闲区域,第二内存区域内没有足够的空闲区域容纳可移动数据,则清除该可移动数据,释放相应的存储空间。
步骤S911,在第一内存区域为该内存申请分配存储空间。
向提出内存申请的应用管理模块或系统内核返回分配的存储空间的内存地址。
步骤S907,判断要保存的数据的数据大小是否小于第二内存区域内的空闲区域;如果是,执行步骤S908;如果否,执行步骤S911。
步骤S908,在第二内存区域为该内存申请分配存储空间。
可选地,为了便于对内存空间进行整合,如果在第二内存区域内为不可移动数据分配存储空间,可以在第二内存区域内紧邻第一内存区域为该内存申请分配存储空间。
基于同一发明构思,本发明实施例还提供了一种电子设备。如图10所示,该电子设备包括:
信息确定单元101,用于当接收到内存申请时,确定所述内存申请要保存的数据的数据存储信息;
内存分配单元102,用于根据所述数据存储信息为所述内存申请分配存储空间;所述存储空间位于第一内存区域或第二内存区域;所述第一内存区域为在内存空间中预先划定的用于容纳不可移动数据的连续内存区域,所述第二内存区域为内存空间中除第一内存区域之外的内存区域,其中所述不可移动数据为存储在内存空间后不可改变存储地址的数据。
在一种可能的实现方式中,所述数据存储信息包括数据类型;
所述内存分配单元102还可以用于:若所述数据类型为不可移动数据,在所述第一内存区域为所述内存申请分配存储空间;或若所述数据类型为可移动数据,在所述第二内存区域为所述内存申请分配存储空间。
在一种可能的实现方式中,所述数据存储信息包括数据类型和数据大小;
所述内存分配单元102还可以用于:若所述数据类型为不可移动数据,且所述数据大小大于或等于第一内存区域内的空闲区域,在所述第二内存区域内为所述内存申请分配存储空间;或,若所述数据类型为可移动数据,且所述数据大小大于或等于第二内存区域内的空闲区域,在所述第一内存区域为所述内存申请分配存储空间;或,若所述数据类型为不可移动数据,且所述数据大小小于或等于设定阈值,在所述第一内存区域为所述内存申请分配存储空间。
在一种可能的实现方式中,所述内存分配单元102还可以用于:若所述数据大小大于或等于第一内存区域内的空闲区域,且所述第一内存区域内包含可移动数据,且所述可移动数据的数据大小小于第二内存区域内的空闲区域,将所述可移动数据迁移至所述第二内存区域,在所述第一内存区域为所述内存申请分配存储空间;或,若所述数据大小大于或等于第一内存区域内的空闲区域,且所述第一内存区域内包含可移动数据,且所述可移动数据的数据大小大于或等于第二内存区域内的空闲区域,清除所述可移动数据,在所述第一内存区域为所述内存申请分配存储空间。
在一种可能的实现方式中,所述信息确定单元101还可以用于:根据所述内存申请中的数据类型标记位,确定所述内存申请要保存的数据的数据类型。
本发明实施例提供的电子设备,在内存空间中预先划定一段连续内存区域作为第一内存区域,第一内存区域用于容纳不可移动数据。在为内存申请分配存储空间时,根据内存申请的数据存储信息为需要保存不可移动数据的内存申请优先分配第一内存区域内的存储空间,尽量使不可移动数据保存在第一内存区域内,以避免不可移动数据分散在整个内存空间中,在很大程度上缓解内存碎片过多时无法通过整合内存空间来减少内存碎片的问题,有利于高效利用内存空间,避免浪费内存空间。
基于同一发明构思,本发明实施例还提供了一种电子设备,如图11所示,该终端可以包括存储器111和处理器112。示例性地,该终端可以是手机、计算机、平板电脑、车载移动终端等。
存储器111,用于存储处理器112执行的计算机程序。存储器111可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序,如内存分配方法的应用程序等;存储数据区可存储根据所述电子设备的使用所创建的数据,如各种图片、动画素材等。
存储器111可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器111也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器111是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器111可以是上述存储器的组合,存储器111也可以包括内存条。
处理器112,可以包括一个或多个中央处理单元(central processing unit,CPU),图形处理单元(Graphics Processing Unit,GPU)或者为数字处理单元等等。处理器112,用于调用所述存储器111中存储的计算机程序时实现上述内存方法。
本发明实施例中不限定上述存储器111和处理器112之间的具体连接介质。本公开实施例在图11中以存储器111和处理器112之间通过总线113连接,总线113在图11中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线113可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在一种可选的实施例中,上述电子设备还可以包括其它外设部件。如图12所示,该电子设备还可以包括:射频(Radio Frequency,RF)电路121、电源122、输入单元125、显示单元126、摄像头127、通信接口128、以及无线保真(Wireless Fidelity,WiFi)模块129等部件。本领域技术人员可以理解,图12中示出的电子设备设备的结构并不构成对电子设备设备的限定,本发明实施例提供的电子设备设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图12对所述电子设备的各个构成部件进行具体的介绍:
所述RF电路121可用于通信或通话过程中,数据的接收和发送。特别地,所述RF电路121在接收到服务器发送的数据,发送给所述处理器112处理;另外,将待发送的上行数据发送给基站。通常,所述RF电路121包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。
此外,RF电路121还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobilecommunication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code DivisionMultiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
WiFi技术属于短距离无线传输技术,所述电子设备通过WiFi模块129可以连接接入点(Access Point,AP),从而实现数据网络的访问。在本发明实施例中,WiFi模块129可以同时支持2.4GHz频段和5GHz频段,用于与WiFi双频设备连接,在通信过程中进行数据的接收和发送。
所述电子设备可以通过所述通信接口128与其他设备实现物理连接。可选的,所述通信接口128与所述其他设备的通信接口通过电缆连接,实现所述电子设备和其他设备之间的数据传输。
由于在本发明实施例中,所述电子设备能够实现通信业务,向其他联系人发送信息,因此所述电子设备需要具有数据传输功能,即所述电子设备内部需要包含通信模块。虽然图8示出了所述RF电路121、所述WiFi模块129、和所述通信接口128等通信模块,但是可以理解的是,所述电子设备中存在上述部件中的至少一个或者其他用于实现通信的通信模块(如蓝牙模块),以进行数据传输。
例如,当所述电子设备为手机时,所述电子设备可以包含所述RF电路121,还可以包含所述WiFi模块129;当所述电子设备为计算机时,所述电子设备可以包含所述通信接口128,还可以包含所述WiFi模块129;当所述电子设备为平板电脑时,所述电子设备可以包含所述WiFi模块。
所述输入单元125可用于接收用户输入的数字或字符信息,以及产生与所述电子设备的用户设置以及功能控制有关的键信号输入。
可选的,输入单元125可包括触控面板853以及其他输入设备854。
其中,所述触控面板853,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在所述触控面板853上或在所述触控面板853附近的操作),并根据预先设定的程式实现相应的操作,如用户选择礼物等。可选的,所述触控面板853可以包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给所述处理器112,并能接收所述处理器112发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现所述触控面板1253。
可选的,所述其他输入设备1254可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
所述显示单元126可用于显示由用户输入的信息或提供给用户的信息以及所述电子设备的各种菜单。所述显示单元126即为所述电子设备的显示系统,用于呈现界面,如直播画面等,实现人机交互。
所述显示单元126可以包括显示面板1261。可选的,所述显示面板1261可以采用液晶显示屏(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-EmittingDiode,OLED)等形式来配置。
进一步的,所述触控面板1253可覆盖所述显示面板1261,当所述触控面板853检测到在其上或附近的触摸操作后,传送给所述处理器112以确定触摸事件的类型,随后所述处理器112根据触摸事件的类型在所述显示面板1261上提供相应的视觉输出。
虽然在图12中,所述触控面板1253与所述显示面板1261是作为两个独立的部件来实现所述电子设备的输入和输入功能,但是在某些实施例中,可以将所述触控面板1253与所述显示面板1261集成而实现所述电子设备的输入和输出功能。
所述摄像头127,用于实现所述电子设备的拍摄功能,拍摄图片或视频。所述摄像头127还可以用于实现电子设备的扫描功能,对扫描对象(二维码/条形码)进行扫描。
所述电子设备还包括用于给各个部件供电的电源122(比如电池)。可选的,所述电源122可以通过电源管理系统与所述处理器112逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗等功能。
尽管未示出,所述电子设备还可以包括至少一种传感器、音频电路等,在此不再赘述。
本公开实施例还提供了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于实现本公开实施例所记载的数据处理方法。
在一些可能的实施方式中,本公开提供的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本公开各种示例性实施方式的方法中的步骤,例如,所述计算机设备可以执行本公开实施例所记载的数据处理方法。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种内存分配方法,其特征在于,包括:
当接收到内存申请时,确定所述内存申请要保存的数据的数据存储信息;
根据所述数据存储信息为所述内存申请分配存储空间;所述存储空间位于第一内存区域或第二内存区域;所述第一内存区域为在内存空间中预先划定的用于容纳不可移动数据的连续内存区域,所述第二内存区域为内存空间中除第一内存区域之外的内存区域,其中所述不可移动数据为存储在内存空间后不可改变存储地址的数据。
2.如权利要求1所述的方法,其特征在于,所述数据存储信息包括数据类型;
所述根据所述数据存储信息为所述内存申请分配存储空间,包括:
若所述数据类型为不可移动数据,在所述第一内存区域为所述内存申请分配存储空间;或
若所述数据类型为可移动数据,在所述第二内存区域为所述内存申请分配存储空间。
3.如权利要求1所述的方法,其特征在于,所述数据存储信息包括数据类型和数据大小;
所述根据所述数据存储信息为所述内存申请分配存储空间,包括:
若所述数据类型为不可移动数据,且所述数据大小大于或等于第一内存区域内的空闲区域,在所述第二内存区域内为所述内存申请分配存储空间;或
若所述数据类型为可移动数据,且所述数据大小大于或等于第二内存区域内的空闲区域,在所述第一内存区域为所述内存申请分配存储空间;或
若所述数据类型为不可移动数据,且所述数据大小小于或等于设定阈值,在所述第一内存区域为所述内存申请分配存储空间。
4.如权利要求3所述的方法,其特征在于,若所述数据类型为不可移动数据,且所述数据大小小于或等于设定阈值,在所述第一内存区域为所述内存申请分配存储空间,包括:
若所述数据大小大于或等于第一内存区域内的空闲区域,且所述第一内存区域内包含可移动数据,且所述可移动数据的数据大小小于第二内存区域内的空闲区域,将所述可移动数据迁移至所述第二内存区域,在所述第一内存区域为所述内存申请分配存储空间;或
若所述数据大小大于或等于第一内存区域内的空闲区域,且所述第一内存区域内包含可移动数据,且所述可移动数据的数据大小大于或等于第二内存区域内的空闲区域,清除所述可移动数据,在所述第一内存区域为所述内存申请分配存储空间。
5.如权利要求2或3所述的方法,其特征在于,通过如下方式确定所述内存申请要保存的数据的数据类型:
根据所述内存申请中的数据类型标记位,确定所述内存申请要保存的数据的数据类型。
6.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
当接收到内存申请时,确定所述内存申请要保存的数据的数据存储信息;
根据所述数据存储信息为所述内存申请分配存储空间;所述存储空间位于第一内存区域或第二内存区域;所述第一内存区域为在内存空间中预先划定的用于容纳不可移动数据的连续内存区域,所述第二内存区域为内存空间中除第一内存区域之外的内存区域,其中所述不可移动数据为存储在内存空间后不可改变存储地址的数据。
7.如权利要求6所述的电子设备,其特征在于,所述数据存储信息包括数据类型;
所述处理器具体执行:
若所述数据类型为不可移动数据,在所述第一内存区域为所述内存申请分配存储空间;或
若所述数据类型为可移动数据,在所述第二内存区域为所述内存申请分配存储空间。
8.如权利要求6所述的电子设备,其特征在于,所述数据存储信息包括数据类型和数据大小;
所述处理器具体执行:
若所述数据类型为不可移动数据,且所述数据大小大于或等于第一内存区域内的空闲区域,在所述第二内存区域内为所述内存申请分配存储空间;或
若所述数据类型为可移动数据,且所述数据大小大于或等于第二内存区域内的空闲区域,在所述第一内存区域为所述内存申请分配存储空间;或
若所述数据类型为不可移动数据,且所述数据大小小于或等于设定阈值,在所述第一内存区域为所述内存申请分配存储空间。
9.一种电子设备,其特征在于,包括:
信息确定单元,用于当接收到内存申请时,确定所述内存申请要保存的数据的数据存储信息;
内存分配单元,用于根据所述数据存储信息为所述内存申请分配存储空间;所述存储空间位于第一内存区域或第二内存区域;所述第一内存区域为在内存空间中预先划定的用于容纳不可移动数据的连续内存区域,所述第二内存区域为内存空间中除第一内存区域之外的内存区域,其中所述不可移动数据为存储在内存空间后不可改变存储地址的数据。
10.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,其特征在于:所述计算机程序被处理器执行时,实现权利要求1~5任一项中所述的方法。
CN201910838049.7A 2019-09-05 2019-09-05 一种内存分配方法、电子设备及存储介质 Active CN110609748B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910838049.7A CN110609748B (zh) 2019-09-05 2019-09-05 一种内存分配方法、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910838049.7A CN110609748B (zh) 2019-09-05 2019-09-05 一种内存分配方法、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110609748A true CN110609748A (zh) 2019-12-24
CN110609748B CN110609748B (zh) 2023-09-01

Family

ID=68892314

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910838049.7A Active CN110609748B (zh) 2019-09-05 2019-09-05 一种内存分配方法、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110609748B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111475299A (zh) * 2020-04-03 2020-07-31 Oppo广东移动通信有限公司 内存分配方法、装置、存储介质及电子设备
CN111858258A (zh) * 2020-07-29 2020-10-30 浪潮电子信息产业股份有限公司 一种内存监控方法、装置及电子设备和存储介质
CN111897493A (zh) * 2020-07-15 2020-11-06 杭州海康威视系统技术有限公司 存储空间管理方法、装置及电子设备、存储介质
CN113038141A (zh) * 2021-03-26 2021-06-25 青岛海信移动通信技术股份有限公司 视频帧处理方法及电子设备
CN116719752A (zh) * 2022-09-30 2023-09-08 荣耀终端有限公司 一种分配内存的方法、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160070633A1 (en) * 2014-09-09 2016-03-10 Microsoft Corporation Memory leak analysis by usage trends correlation
CN107193753A (zh) * 2017-06-16 2017-09-22 深圳市万普拉斯科技有限公司 内存重整方法、装置、电子设备及可读存储介质
CN107203477A (zh) * 2017-06-16 2017-09-26 深圳市万普拉斯科技有限公司 内存分配方法、装置、电子设备及可读存储介质
CN109656836A (zh) * 2018-12-24 2019-04-19 新华三技术有限公司 一种数据处理方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160070633A1 (en) * 2014-09-09 2016-03-10 Microsoft Corporation Memory leak analysis by usage trends correlation
CN107193753A (zh) * 2017-06-16 2017-09-22 深圳市万普拉斯科技有限公司 内存重整方法、装置、电子设备及可读存储介质
CN107203477A (zh) * 2017-06-16 2017-09-26 深圳市万普拉斯科技有限公司 内存分配方法、装置、电子设备及可读存储介质
CN109656836A (zh) * 2018-12-24 2019-04-19 新华三技术有限公司 一种数据处理方法及装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111475299A (zh) * 2020-04-03 2020-07-31 Oppo广东移动通信有限公司 内存分配方法、装置、存储介质及电子设备
CN111475299B (zh) * 2020-04-03 2024-05-07 Oppo广东移动通信有限公司 内存分配方法、装置、存储介质及电子设备
CN111897493A (zh) * 2020-07-15 2020-11-06 杭州海康威视系统技术有限公司 存储空间管理方法、装置及电子设备、存储介质
CN111897493B (zh) * 2020-07-15 2023-03-10 杭州海康威视系统技术有限公司 存储空间管理方法、装置及电子设备、存储介质
CN111858258A (zh) * 2020-07-29 2020-10-30 浪潮电子信息产业股份有限公司 一种内存监控方法、装置及电子设备和存储介质
CN113038141A (zh) * 2021-03-26 2021-06-25 青岛海信移动通信技术股份有限公司 视频帧处理方法及电子设备
CN113038141B (zh) * 2021-03-26 2023-07-28 青岛海信移动通信技术有限公司 视频帧处理方法及电子设备
CN116719752A (zh) * 2022-09-30 2023-09-08 荣耀终端有限公司 一种分配内存的方法、电子设备及存储介质

Also Published As

Publication number Publication date
CN110609748B (zh) 2023-09-01

Similar Documents

Publication Publication Date Title
CN110609748B (zh) 一种内存分配方法、电子设备及存储介质
EP3514684B1 (en) Memory recovery method and apparatus
CN107391259B (zh) 资源处理方法和装置、计算机可读存储介质、移动终端
EP3674846B1 (en) Method and apparatus for compressing and decompressing memory occupied by processor
CN111679921B (zh) 内存共享方法、内存共享装置及终端设备
EP3506105B1 (en) Method and device for processing a memory and storage medium
EP3471450B1 (en) Network bandwidth management method, terminal and computer storage medium
US20190188030A1 (en) Terminal background application management method and apparatus
KR102077149B1 (ko) 메모리 관리 방법 및 장치
CN102822802B (zh) 多核处理器系统以及控制方法
CN111177025B (zh) 数据存储方法、装置及终端设备
WO2018121251A1 (en) Hot application resource allocation method, mobile terminal and storage medium
CN111858112B (zh) 一种检测内存泄露的方法、客户端及服务器
EP3544344B1 (en) Method, user equipment and computer readable storage medium for switching the operation mode of a user equipment between carrier aggregation (ca) and non-ca operation modes
CN111309267B (zh) 存储空间的分配方法、装置、存储设备及存储介质
WO2019170126A1 (zh) 图片绘制方法及相关产品
EP3171274A1 (en) Resource leak detecting method, device, and system
EP3591524A1 (en) Memory resource allocation method and terminal device
TWI506538B (zh) 動態記憶體分配技術
CN109992399B (zh) 资源管理方法、装置、移动终端及计算机可读存储介质
CN112559390A (zh) 一种数据写入控制方法及存储设备
CN112445766A (zh) 一种终端碎片整理方法、装置以及终端
US10158896B2 (en) Video channel allocation management method and related device, and communication system
CN111078587B (zh) 内存分配方法、装置、存储介质及电子设备
CN111444117A (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 266071 Shandong city of Qingdao province Jiangxi City Road No. 11

Applicant after: Qingdao Hisense Mobile Communication Technology Co.,Ltd.

Address before: 266071 Shandong city of Qingdao province Jiangxi City Road No. 11

Applicant before: HISENSE MOBILE COMMUNICATIONS TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant