CN108762916B - 一种内存管理方法、装置、设备及计算机可读存储介质 - Google Patents

一种内存管理方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN108762916B
CN108762916B CN201810415301.9A CN201810415301A CN108762916B CN 108762916 B CN108762916 B CN 108762916B CN 201810415301 A CN201810415301 A CN 201810415301A CN 108762916 B CN108762916 B CN 108762916B
Authority
CN
China
Prior art keywords
page
memory
picture
pictures
memory management
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
Application number
CN201810415301.9A
Other languages
English (en)
Other versions
CN108762916A (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.)
Beijing 58 Information Technology Co Ltd
Original Assignee
Beijing 58 Information 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 Beijing 58 Information Technology Co Ltd filed Critical Beijing 58 Information Technology Co Ltd
Priority to CN201810415301.9A priority Critical patent/CN108762916B/zh
Publication of CN108762916A publication Critical patent/CN108762916A/zh
Application granted granted Critical
Publication of CN108762916B publication Critical patent/CN108762916B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Abstract

本发明提供了一种内存管理方法、装置、设备及计算机可读存储介质,其中内存管理方法包括:创建应用程序的页面;在运行页面时,将页面所需图片缓存到内存;在销毁页面时,将内存中缓存的页面所需图片删除。本发明的技术方案通过在销毁页面时将内存中缓存的该页面所需图片进行删除,可以对内存中的页面图片进行更及时的释放,降低了内存的消耗,同时降低了内存溢出的概率。

Description

一种内存管理方法、装置、设备及计算机可读存储介质
技术领域
本发明涉及信息处理领域,特别涉及一种内存管理方法、装置、设备及计算机可读存储介质。
背景技术
LRU(Least Recently Used,近期最少使用算法)是内存管理的一种页面置换算法,对于在内存中但又不用的数据块(内存块)叫做LRU,操作系统会根据哪些数据属于LRU而将其移出内存从而腾出空间来加载另外的数据。
现有技术中根据不同手机实际的内存数计算出合理的内存最大值,并通过LRU算法来维护这些内存空间。具体为:把缓存存储的内容按照最后的使用时间排序,当内存不足需要释放部分空间时,则释放掉使用率最低的缓存,用于缓解内存空间的紧张,但却至少存在如下缺陷:当缓存内容达不到峰值时,不对缓存进行释放,造成内存持续偏高。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种解决上述问题的内存管理方法、装置、设备及存储介质。
依据本发明实施例的一个方面,提供了一种内存管理方法,包括:
创建应用程序的页面;
在运行所述页面时,将所述页面所需图片缓存到内存;
在销毁所述页面时,将所述内存中缓存的所述页面所需图片删除。
可选的,在本发明实施例所述的内存管理方法中,在创建页面时,还包括:创建信息存储集合,并将所述页面所需图片的加载地址存入所述信息存储集合中;
所述将所述页面所需图片缓存到内存,包括:
根据所述集合中存储的加载地址,将所述页面所需图片加载到所述内存。
可选的,在本发明实施例所述的内存管理方法中,所述将所述页面所需图片缓存到内存,具体包括:
判断所述内存中是否缓存有所述页面所需的图片,若是,则将所述内存中的所述页面所需图片移动到数据链表的头部;否则,将所述页面所需图片加载到所述内存的数据链表的头部。
可选的,在本发明实施例所述的内存管理方法中,在将所述页面所需图片缓存到内存后,还包括:将所述页面所需图片在所述内存中的缓存位置存入所述信息存储集合中;
所述将所述内存中缓存的所述页面所需图片删除,包括:根据所述缓存位置,在所述内存中查找缓存的所述页面所需图片,并删除查找到的图片。
可选的,在本发明实施例所述的内存管理方法中,在将所述页面所需图片缓存到内存时,还包括:
将所述页面所需图片的尺寸修改为预设尺寸。
可选的,在本发明实施例所述的内存管理方法中,当所述应用程序被触发或者当所述应用程序进行页面转换时,创建所述应用程序的页面。
依据本发明实施例的另一个方面,提供一种内存管理装置,包括创建模块、加载模块及删除模块:
所述创建模块,用于创建应用程序的页面;
所述加载模块,用于在运行所述页面时,将所述页面所需图片缓存到内存;
所述删除模块,用于在销毁所述页面时,将所述内存中缓存的所述页面所需图片删除。
可选的,在本发明所述的内存管理装置中,所述创建模块还用于:创建信息存储集合,并将所述页面所需图片的加载地址存入所述信息存储集合中;
所述加载模块具体用于:根据所述集合中存储的加载地址,将所述页面所需图片加载到所述内存。
可选的,在本发明所述的内存管理装置中,所述加载模块具体用于:判断所述内存中是否缓存有所述页面所需的图片,若是,则将所述内存中的所述页面所需图片移动到数据链表的头部;否则,将所述页面所需图片加载到所述内存的数据链表的头部。
可选的,在本发明所述的内存管理装置中,所述加载模块还用于:在将所述页面所需图片缓存到内存后,将所述页面所需图片在所述内存中的缓存位置存入所述信息存储集合中;
所述删除模块具体用于:根据所述缓存位置,在所述内存中查找缓存的所述页面所需图片,并删除查找到的图片。
可选的,在本发明所述的内存管理装置中,所述创建模块具体用于:
当所述应用程序被触发或者当所述应用程序进行页面转换时,创建所述应用程序的页面。
依据本发明实施例的第三个方面,提供了一种内存管理设备,所述内存释放设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的内存管理方法的步骤。
依据本发明实施例的第四个方面,提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述内存管理方法的步骤。
本发明实施例的有益效果如下:
本发明实施例提供的内存管理方法、装置、设备及存储介质,通过在销毁页面时将内存中缓存的该页面所需图片进行删除,可以对内存中的页面图片进行更及时的释放,降低了内存的消耗,同时降低了内存溢出的概率。
附图说明
图1为本发明第一方法实施例中内存管理方法的流程示意图;
图2为本发明第二方法实施例中内存管理方法的流程示意图;
图3为本发明第三方法实施例中内存管理方法的流程示意图;
图4为本发明第四方法实施例中内存管理方法的流程示意图;
图5为本发明第五方法实施例中内存管理方法的流程示意图;
图6为本发明方法实施例实例1页面生命周期示意图;
图7为本发明的方法实施例实例1中步骤2的一种具体实现过程示意图;
图8为本发明第一装置实施例中内存管理装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于唯一限定本发明。
根据本发明的第一方法实施例,提供了一种内存管理方法。图1为本发明第一方法实施例中内存管理方法的流程示意图,如图1所示,本发明第一方法实施例的内存管理方法,包括以下步骤:
S101:创建应用程序的页面。
在本发明第一方法实施例中,创建页面即表示在页面activity的生命周期为创建(on Create)时,创建页面。
可选的,当所述应用程序被触发或者当所述应用程序进行页面转换时,创建所述应用程序的页面。
S102:在运行页面时,将页面所需图片缓存到内存。
也就是说,在页面activity的生命周期为运行(on Resume)时,将页面所需图片缓存到内存。
S103:在销毁页面时,将内存中缓存的页面所需图片删除。
也就是说,在页面activity的生命周期为销毁(on Destroy)时,将内存中缓存的页面所需图片删除。
本发明第一方法实施例提供的内存管理方法,通过在销毁页面时将内存中缓存的该页面所需图片进行删除,可以对内存中的页面图片进行更及时的释放,降低了内存的消耗,同时降低了内存溢出的概率。
根据本发明的第二方法实施例,提供了一种内存管理方法。图2为本发明第二方法实施例中内存管理方法的流程示意图,如图2所示包括以下步骤:
S201:创建应用程序的页面,创建信息存储集合,并将页面所需图片的加载地址存入信息存储集合中。
示例的,可以在app(应用程序)页面基类生命周期的on Create里创建一个Vector集合,Vector集合中存放有本页面所有用到的图片加载地址。其中,Vector类为在java中可以实现自动增长的对象数组。
S202:在运行页面时,根据信息存储集合中存储的加载地址,将页面所需图片加载到内存。
S203:在销毁页面时,将内存中缓存的页面所需图片删除。
本发明第二方法实施例提供的内存管理方法,在创建页面时创建信息存储集合,并将页面所需图片的加载地址存入信息存储集合中,然后根据信息存储集合中存储的加载地址加载图片,在销毁页面时将内存中缓存的该页面所需图片进行删除,可以对内存中的页面图片进行更及时的释放,降低了内存的消耗,同时降低了内存溢出的概率。
根据本发明的第三方法实施例,提供了一种内存管理方法。图3为本发明第三方法实施例中内存管理方法的流程示意图,如图3所示包括以下步骤:
S301:创建应用程序的页面,创建信息存储集合,并将页面所需图片的加载地址存入信息存储集合中。
S302:在运行页面时,判断内存中是否缓存有页面所需的图片,若是,则将内存中的页面所需图片移动到数据链表的头部;否则,根据信息存储集合中存储的加载地址,将页面所需图片加载到内存的数据链表的头部。
S303:在销毁页面时,将内存中缓存的页面所需图片删除。
本发明第三方法实施例提供的内存管理方法,针对LRU算法步骤S302给出一种具体的将页面所需图片缓存到内存的方法,在销毁页面时将内存中缓存的该页面所需图片进行删除,可以对内存中的页面图片进行更及时的释放,降低了内存的消耗,同时降低了内存溢出的概率;同时可以减少LRU算法造成的部分数据污染(即很长时间只访问一次的数据)。
根据本发明的第四方法实施例,提供了一种内存管理方法。图4为本发明第四方法实施例中内存管理方法的流程示意图,如图4所示包括以下步骤:
S401:创建应用程序的页面,创建信息存储集合,并将页面所需图片的加载地址存入信息存储集合中。
页面所需图片在内存中的缓存位置也可以称为图片缓存key。
S402:在运行页面时,将页面所需图片缓存到内存,并将页面所需图片在内存中的缓存位置存入信息存储集合中。
S403:在销毁页面时,根据缓存位置,在内存中查找缓存的页面所需图片,并删除查找到的图片。
本发明第四方法实施例提供的内存管理方法,通过记录页面所需图片在内存中的缓存位置,在销毁页面时,根据缓存位置,在内存中查找缓存的页面所需图片,并进行删除,可以对内存中的页面图片进行更及时的释放,降低了内存的消耗,同时降低了内存溢出的概率。
根据本发明的第五方法实施例,提供了一种内存管理方法。图5为本发明第五方法实施例中内存管理方法的流程示意图,如图5所示包括以下步骤:
S501:创建应用程序的页面,创建信息存储集合,并将页面所需图片的加载地址存入信息存储集合中。
页面所需图片在内存中的缓存位置也可以称为图片缓存key。
S502:在运行页面时,将页面所需图片缓存到内存,并将页面所需图片的尺寸修改为预设尺寸,同时将页面所需图片在内存中的缓存位置存入信息存储集合中。
具体的,将页面所需图片的尺寸修改为预设尺寸包括:
预设若干个固定尺寸;
在预设的若干个固定尺寸中选取出与页面所需图片的尺寸最为接近的固定尺寸;
将页面所需图片修改为选取出的尺寸。
S503:在销毁页面时,根据缓存位置,在内存中查找缓存的页面所需图片,并删除查找到的图片。
在本发明的一个可选实施例中,在将页面所需图片的缓存进行删除之后,还包括删除信息存储集合。
本发明第五方法实施例提供的内存管理方法,不仅通过记录页面所需图片在内存中的缓存位置,在销毁页面时,根据缓存位置,在内存中查找缓存的页面所需图片,并进行删除;而且通过对图片尺寸进行裁剪(修改),增加了缓存的命中率;而且通过清空信息存储集合,清空了信息存储集合中存放的页面所需图片的加载地址,进一步降低了内存的消耗。
为了更加详细的说明本发明方法实施例,给出实例1。图6为本发明方法实施例实例1页面生命周期示意图,在图6中显示了页面activity的生命周期,依次为创建onCreate、运行on Resume,停止on Pause、销毁on Destroy。具体的,实例1包括以下步骤:
步骤1:在页面生命周期为on Create时,在app页面的基类里创建一个Vector集合存放本页面所有用到的网络图片加载地址。
步骤2:在页面生命周期为on Resume时,自定义图片加载控件,把设置的网络图片尺寸改修改成与手机屏幕上图像控件大小相似的尺寸。
图7为本发明的方法实施例实例1中步骤2的一种具体实现过程示意图,具体包括以下三个步骤:
步骤a:根据页面所需图片的加载地址加载图片。在该步骤中,省略了判断页面所需图片的数据在内存中是否存在的步骤中,仅给出了当页面所需图片的数据在内存中不存在的时,需要根据页面所需图片的加载地址加载图片。
步骤b:对图片尺寸进行裁剪:在预设的若干个固定尺寸中选取出与页面所需图片的尺寸最为接近的固定尺寸;将页面所需图片修改为选取出的尺寸
步骤c:将页面所需图片在内存中的缓存位置存入Vector集合中。
步骤3:在页面的生命周期为on Destroy时,根据缓存位置找到页面所需图片的缓存,并进行删除。
下表为仅针对首页进行优化后的数据对比,其中GC表示主动执行内存回收。
优化前未GC 优化前GC 优化后未GC 优化后GC
103.90MB 96.37MB 73.25MB 62.47MB
由上表可以看出,本发明方法实施例实例1提供的内存管理方法降低了内存的消耗,也同时降低了内存溢出的概率。
与本发明的第一方法实施例相对应,本发明还提供了一种内存管理装置。图8为本发明第一装置实施例中内存管理装置的结构示意图,如图8所示,本发明第一装置实施例的内存管理装置包括创建模块80、加载模块82及删除模块84,以下分别对各模块进行详细说明。
创建模块80,用于创建应用程序的页面。
在本发明第一装置实施例中,创建页面即表示在页面activity的生命周期为创建(on Create)时,创建页面。
可选的,所述创建模块具体用于:当所述应用程序被触发或者当所述应用程序进行页面转换时,创建所述应用程序的页面。
加载模块82,用于在运行页面时,将页面所需图片缓存到内存。
在本发明第一装置实施例中,在页面activity的生命周期为运行(on Resume)时,将页面所需图片缓存到内存。
删除模块84,用于在销毁页面时,将内存中缓存的页面所需图片删除。
在本发明第一装置实施例中,在页面activity的生命周期为销毁(on Destroy)时,将内存中缓存的页面所需图片删除。
本发明第一装置实施例提供的内存管理装置,通过在销毁页面时将内存中缓存的该页面所需图片进行删除,可以对内存中的页面图片进行更及时的释放,降低了内存的消耗,同时降低了内存溢出的概率。
与本发明的第二方法实施例相对应,本发明还提供了一种内存管理装置。本发明第二装置实施例的内存管理装置包括创建模块、加载模块及删除模块,以下分别对各模块进行详细说明。
创建模块,用于创建应用程序的页面,创建信息存储集合,并将页面所需图片的加载地址存入信息存储集合中。
加载模块,用于在运行页面时,根据信息存储集合中存储的加载地址,将页面所需图片加载到内存。
删除模块,用于在销毁页面时,将内存中缓存的页面所需图片删除。
本发明第二装置实施例提供的内存管理装置,在创建页面时创建信息存储集合,并将页面所需图片的加载地址存入信息存储集合中,然后根据信息存储集合中存储的加载地址加载图片,在销毁页面时将内存中缓存的该页面所需图片进行删除,可以对内存中的页面图片进行更及时的释放,降低了内存的消耗,同时降低了内存溢出的概率。
与本发明的第三方法实施例相对应,本发明还提供了一种内存管理装置。本发明第三装置实施例的内存管理装置包括创建模块、加载模块及删除模块,以下分别对各模块进行详细说明。
创建模块,用于创建应用程序的页面,创建信息存储集合,并将页面所需图片的加载地址存入信息存储集合中。
加载模块,用于在运行页面时,判断内存中是否缓存有页面所需的图片,若是,则将内存中的页面所需图片移动到数据链表的头部;否则,根据信息存储集合中存储的加载地址,将页面所需图片加载到内存的数据链表的头部。
删除模块,用于在销毁页面时,将内存中缓存的页面所需图片删除。
本发明第三装置实施例提供的内存管理装置,针对LRU算法给出一种具体的将页面所需图片缓存到内存的方法,在销毁页面时将内存中缓存的该页面所需图片进行删除,可以对内存中的页面图片进行更及时的释放,降低了内存的消耗,同时降低了内存溢出的概率;同时可以减少LRU算法造成的部分数据污染(即很长时间只访问一次的数据)。
与本发明的第四方法实施例相对应,本发明还提供了一种内存管理装置。本发明第四装置实施例的内存管理装置包括创建模块、加载模块及删除模块,以下分别对各模块进行详细说明。
创建模块,用于创建应用程序的页面,并创建信息存储集合,并将页面所需图片的加载地址存入信息存储集合中。
加载模块,用于在运行页面时,将页面所需图片缓存到内存,将页面所需图片在内存中的缓存位置存入信息存储集合中。
删除模块,用于在销毁页面时,根据缓存位置,在内存中查找缓存的页面所需图片,并删除查找到的图片。
本发明第四装置实施例提供的内存管理装置,通过记录页面所需图片在内存中的缓存位置,在销毁页面时,根据缓存位置,在内存中查找缓存的页面所需图片,并进行删除,可以对内存中的页面图片进行更及时的释放,降低了内存的消耗,同时降低了内存溢出的概率。
与本发明的第五方法实施例相对应,本发明还提供了一种内存管理装置。本发明第五装置实施例的内存管理装置包括创建模块、加载模块及删除模块,以下分别对各模块进行详细说明。
创建模块,用于创建应用程序的页面,并创建信息存储集合,并将页面所需图片的加载地址存入信息存储集合中。
加载模块,用于在运行页面时,将页面所需图片缓存到内存,并将页面所需图片的尺寸修改为预设尺寸,同时将页面所需图片在内存中的缓存位置存入信息存储集合中。
具体的,将页面所需图片的尺寸修改为预设尺寸包括:
预设若干个固定尺寸;
在预设的若干个固定尺寸中选取出与页面所需图片的尺寸最为接近的固定尺寸;
将页面所需图片修改为选取出的尺寸。
删除模块,用于在销毁页面时,根据缓存位置,在内存中查找缓存的页面所需图片,并删除查找到的图片。
本发明第五装置实施例提供的内存管理装置,不仅通过记录页面所需图片在内存中的缓存位置,在销毁页面时,根据缓存位置,在内存中查找缓存的页面所需图片,并进行删除;而且通过对图片尺寸进行裁剪/修改,增加了缓存的命中率;而且通过清空信息存储集合,清空了信息存储集合中存放的页面所需图片的加载地址,进一步降低了内存的消耗。
本发明还提供了一种内存管理设备,内存释放设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,计算机程序被处理器执行时实现以下步骤:
步骤11:创建应用程序的页面。
在本发明的一个可选实施例中,在创建页面时,计算机程序被处理器执行时还实现以下步骤:创建信息存储集合,并将页面所需图片的加载地址存入信息存储集合中。
步骤12:在运行页面时,将页面所需图片缓存到内存。
在本发明的一个可选实施例中,将页面所需图片缓存到内存,包括:根据信息存储集合中存储的加载地址,将页面所需图片加载到内存。
对于LRU算法,将页面所需图片缓存到内存具体包括:判断内存中是否缓存有页面所需的图片,若是,则将内存中的页面所需图片移动到数据链表的头部;否则,将所述页面所需图片加载到所述内存的数据链表的头部。
在本发明的一个可选实施例中,在将页面所需图片缓存到内存后,计算机程序被处理器执行时还实现以下步骤:将页面所需图片在内存中的缓存位置存入信息存储集合中。
在本发明的一个可选实施例中,在将页面所需图片缓存到内存时,计算机程序被处理器执行时还实现以下步骤:将页面所需图片的尺寸修改为预设尺寸。
步骤13:在销毁页面时,将内存中缓存的页面所需图片删除。
在本发明的一个可选实施例中,将内存中缓存的页面所需图片删除,包括:根据缓存位置,在内存中查找缓存的页面所需图片,并删除查找到的图片。
本发明实施例提供的内存管理设备,通过在销毁页面时将内存中缓存的该页面所需图片进行删除,可以对内存中的页面图片进行更及时的释放,降低了内存的消耗,同时降低了内存溢出的概率。
本发明还提供了一种计算机可读存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
步骤21:创建应用程序的页面。
在本发明的一个可选实施例中,在创建页面时,计算机程序被处理器执行时还实现以下步骤:创建信息存储集合,并将页面所需图片的加载地址存入信息存储集合中。
步骤22:在运行页面时,将页面所需图片缓存到内存。
在本发明的一个可选实施例中,将页面所需图片缓存到内存,包括:根据信息存储集合中存储的加载地址,将页面所需图片加载到内存。
对于LRU算法,将页面所需图片缓存到内存具体包括:判断内存中是否缓存有页面所需的图片,若是,则将内存中的页面所需图片移动到数据链表的头部;否则,将所述页面所需图片加载到内存的数据链表的头部。
在本发明的一个可选实施例中,在将页面所需图片缓存到内存后,计算机程序被处理器执行时还实现以下步骤:将页面所需图片在内存中的缓存位置存入信息存储集合中。
在本发明的一个可选实施例中,在将页面所需图片缓存到内存时,计算机程序被处理器执行时还实现以下步骤:将页面所需图片的尺寸修改为预设尺寸。
步骤23:在销毁页面时,将内存中缓存的页面所需图片删除。
在本发明的一个可选实施例中,将内存中缓存的页面所需图片删除,包括:根据缓存位置,在内存中查找缓存的页面所需图片,并删除查找到的图片。
本发明实施例提供的计算机可读存储介质,通过在销毁页面时将内存中缓存的该页面所需图片进行删除,可以对内存中的页面图片进行更及时的释放,降低了内存的消耗,同时降低了内存溢出的概率。
以上仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

Claims (12)

1.一种内存管理方法,其特征在于,包括:
创建应用程序的页面;
在运行所述页面时,将所述页面所需图片缓存到内存;
在销毁所述页面时,将所述内存中缓存的所述页面所需图片删除;
在创建页面时,创建信息存储集合,所述存储集合为在页面生命周期为on Create时,在页面的基类里创建的Vector集合,所述信息存储集合存储有页面所需图片的加载地址和图片在所述内存中的缓存位置;当页面生命周期为on Destroy时,根据Vector集合中图片的缓存位置找到页面所需图片的缓存并进行删除;
在将页面所需图片的缓存进行删除之后,还包括删除信息存储集合。
2.如权利要求1所述的内存管理方法,其特征在于,
所述将所述页面所需图片缓存到内存,包括:
根据所述信息存储集合中存储的加载地址,将所述页面所需图片加载到所述内存。
3.如权利要求1所述的内存管理方法,其特征在于,所述将所述页面所需图片缓存到内存,具体包括:
判断所述内存中是否缓存有所述页面所需的图片,若是,则将所述内存中的所述页面所需图片移动到数据链表的头部;否则,将所述页面所需图片加载到所述内存的数据链表的头部。
4.如权利要求1至3任意一项所述的内存管理方法,其特征在于,在将所述页面所需图片缓存到内存时,还包括:
将所述页面所需图片的尺寸修改为预设尺寸。
5.如权利要求1至3任意一项所述的内存管理方法,其特征在于,当所述应用程序被触发或者当所述应用程序进行页面转换时,创建所述应用程序的页面。
6.一种内存管理装置,其特征在于,包括创建模块、加载模块及删除模块:
所述创建模块,用于创建应用程序的页面;
所述加载模块,用于在运行所述页面时,将所述页面所需图片缓存到内存;
所述删除模块,用于在销毁所述页面时,将所述内存中缓存的所述页面所需图片删除;
在创建页面时,所述创建模块还用于:创建信息存储集合,所述存储集合为在页面生命周期为on Create时,在页面的基类里创建的Vector集合,所述信息存储集合存储有页面所需图片的加载地址和图片在所述内存中的缓存位置,当页面生命周期为on Destroy时,所述删除模块根据Vector集合中图片的缓存位置找到页面所需图片的缓存并进行删除;
在将页面所需图片的缓存进行删除之后,还包括删除信息存储集合。
7.如权利要求6所述的内存管理装置,其特征在于,所述加载模块具体用于:根据所述信息存储集合中存储的加载地址,将所述页面所需图片加载到所述内存。
8.如权利要求6所述的内存管理装置,其特征在于,所述加载模块具体用于:判断所述内存中是否缓存有所述页面所需的图片,若是,则将所述内存中的所述页面所需图片移动到数据链表的头部;否则,将所述页面所需图片加载到所述内存的数据链表的头部。
9.如权利要求6至8任一项所述的内存管理装置,其特征在于,所述加载模块还用于:将所述页面所需图片的尺寸修改为预设尺寸。
10.如权利要求6至8任一项所述的内存管理装置,其特征在于,所述创建模块具体用于:
当所述应用程序被触发或者当所述应用程序进行页面转换时,创建所述应用程序的页面。
11.一种内存管理设备,其特征在于,所述内存管理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1~5任一项所述的内存管理方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1~5中任一项所述的内存管理方法的步骤。
CN201810415301.9A 2018-05-03 2018-05-03 一种内存管理方法、装置、设备及计算机可读存储介质 Active CN108762916B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810415301.9A CN108762916B (zh) 2018-05-03 2018-05-03 一种内存管理方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810415301.9A CN108762916B (zh) 2018-05-03 2018-05-03 一种内存管理方法、装置、设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN108762916A CN108762916A (zh) 2018-11-06
CN108762916B true CN108762916B (zh) 2022-12-13

Family

ID=64009240

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810415301.9A Active CN108762916B (zh) 2018-05-03 2018-05-03 一种内存管理方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN108762916B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110032421B (zh) * 2019-04-18 2021-09-28 腾讯科技(深圳)有限公司 内存中图集的管理方法、装置、终端及存储介质
CN110704184B (zh) * 2019-09-19 2022-09-06 海南车智易通信息技术有限公司 一种应用内存优化方法、装置和移动终端
CN112217940B (zh) * 2020-08-28 2021-12-24 波克科技股份有限公司 一种内存释放方法及相关装置
CN112069433A (zh) * 2020-09-10 2020-12-11 Oppo(重庆)智能科技有限公司 文件页面处理方法、装置、终端设备以及存储介质
CN114691452A (zh) * 2022-03-24 2022-07-01 北京百度网讯科技有限公司 内存监测方法、装置、设备以及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7546336B2 (en) * 2005-02-10 2009-06-09 International Business Machines Corporation Method and system for increasing server capacity
CN104267996A (zh) * 2014-09-29 2015-01-07 广州金山网络科技有限公司 一种图片资源处理方法、装置及终端
CN105988715A (zh) * 2015-02-05 2016-10-05 深圳市腾讯计算机系统有限公司 数据存储方法及装置
CN106598614A (zh) * 2016-12-21 2017-04-26 北京奇虎科技有限公司 一种回收图片资源的方法及装置
CN107357650A (zh) * 2017-06-06 2017-11-17 武汉斗鱼网络科技有限公司 一种基于图片资源的内存自动释放方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7546336B2 (en) * 2005-02-10 2009-06-09 International Business Machines Corporation Method and system for increasing server capacity
CN104267996A (zh) * 2014-09-29 2015-01-07 广州金山网络科技有限公司 一种图片资源处理方法、装置及终端
CN105988715A (zh) * 2015-02-05 2016-10-05 深圳市腾讯计算机系统有限公司 数据存储方法及装置
CN106598614A (zh) * 2016-12-21 2017-04-26 北京奇虎科技有限公司 一种回收图片资源的方法及装置
CN107357650A (zh) * 2017-06-06 2017-11-17 武汉斗鱼网络科技有限公司 一种基于图片资源的内存自动释放方法及系统

Also Published As

Publication number Publication date
CN108762916A (zh) 2018-11-06

Similar Documents

Publication Publication Date Title
CN108762916B (zh) 一种内存管理方法、装置、设备及计算机可读存储介质
US20090327621A1 (en) Virtual memory compaction and compression using collaboration between a virtual memory manager and a memory manager
US10133679B2 (en) Read cache management method and apparatus based on solid state drive
US9934231B2 (en) System and methods for prioritizing data in a cache
US10649890B2 (en) Information processing system, storage control apparatus, storage control method, and storage control program
US8880784B2 (en) Random write optimization techniques for flash disks
US9805048B2 (en) System and method for managing a deduplication table
CN102331986B (zh) 一种数据库缓存管理方法及一种数据库服务器
US20170139825A1 (en) Method of improving garbage collection efficiency of flash-oriented file systems using a journaling approach
US20130346672A1 (en) Multi-Tiered Cache with Storage Medium Awareness
US20110191544A1 (en) Data Storage and Access
US10402114B2 (en) Information processing system, storage control apparatus, storage control method, and storage control program
JP2006235960A (ja) ガーベッジコレクション高速化方法
US20180336125A1 (en) Unified paging scheme for dense and sparse translation tables on flash storage systems
TW201301030A (zh) 在一記憶體裝置中減少次要位址表檢查之快速轉譯指示器
US9785547B2 (en) Data management apparatus and method
CN111198856B (zh) 文件管理方法、装置、计算机设备和存储介质
CN103412825B (zh) 一种内存释放方法及装置
CN108108089B (zh) 一种图片加载方法及装置
CN110945486B (zh) 一种存储碎片管理方法及终端
US10592148B2 (en) Information processing system, storage control apparatus, storage control method, and storage control program for evaluating access performance to a storage medium
CN104808952A (zh) 数据缓存方法及装置
US20190220443A1 (en) Method, apparatus, and computer program product for indexing a file
JP2013235531A (ja) 制御装置、記憶装置、記憶制御方法
US10095413B2 (en) Memory system with address translation between a logical address and a physical address

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