[发明专利]一种内存释放方法及装置有效
申请号: | 201310191323.9 | 申请日: | 2013-05-21 |
公开(公告)号: | CN103412825A | 公开(公告)日: | 2013-11-27 |
发明(设计)人: | 王磊 | 申请(专利权)人: | 青岛海信移动通信技术股份有限公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 李娟 |
地址: | 266071 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 释放 方法 装置 | ||
技术领域
本发明涉及移动终端开发技术,尤其涉及一种内存释放方法及装置。
背景技术
移动终端的内存通常指移动终端的物理内存,当存在应用进程时,移动终端会分配一部分物理内存给该应用进程,则这部分物理内存成为进程可使用内存,通常分配在托管堆上,由移动终端通过垃圾回收(Garbage Collection,GC)来管理,当移动终端的物理内存不足时,移动终端会根据垃圾回收(Garbage Collection,GC)策略清除一些没有被引用到的对象,释放空间,以解决内存不足(out of memory,OOM)的问题。然而在进行与缓存文件相关的操作时,经常会出现OOM的问题,且很难通过GC策略解决。以位图(Bitmap)文件为例,当需要在一个界面上显示数十张图片乃至上百张图片时,即使使用类似于列表或者网络的控件来实现,限定一次显示的图片数量的上限,并在当图片较多时采用缩略图策略,当多次在一个界面上显示数目较多的图片,也会使大量内存一直被引用,移动终端无法通过GC策略完成回收,也很容易出现内存不足的问题。
目前,对于进行文件相关操作时出现的内存不足的问题,存在三种解决方案。
第一种解决方案,将文件存储为软引用(SoftReference)对象。软引用是一种需要通过SoftReference类来实现的引用方式,若一个对象为软引用对象,当移动终端出现OOM时,移动终端根据GC策略一定会回收该对象。
这种方法的弊端在于,在一个界面上显示大量文件时,由于文件设置为软引用对象,当移动终端内存不足时,会被回收,导致在一个界面上的大量文件需要被重复解析,系统处理效率低,影响用户体验。
第二种解决方案,在内存中加载文件时对文件进行边界压缩。
这种方法的弊端在于,当需要在同一界面上显示大量的文件时,依然无法解决OOM问题。
第三种解决方案,若显示文件时需要大量的内存,则将存储文件的托管堆的大小调大。
这种方法的弊端在于,在内存一定的情况下,将存储文件的托管堆的大小调大,势必会影响其他模块的正常使用。
这三种解决方案,均不能在避免影响移动终端的正常使用的情况下有效的解决OOM问题。
发明内容
本发明实施例提供一种内存释放方法及装置,以实现在避免影响移动终端的正常使用的情况下有效的解决OOM问题。
一种内存释放方法,包括:
对文件逐一进行解码,并将解码成功的文件逐一存储在第一缓存区中;
当确定所述第一缓存区中剩余存储空间不足时,将所述第一缓存区中存储时间最长的解码成功的文件转存到第二缓存区;
当确定存在内存不足OOM时,将第二缓存区中存储的解码成功的文件删除。
一种内存释放装置,包括:
存储单元,用于对文件逐一进行解码,并将解码成功的文件逐一存储在第一缓存区中;
转存单元,用于当确定所述第一缓存区中剩余存储空间不足时,将所述第一缓存区中存储时间最长的解码成功的文件转存到第二缓存区;
删除单元,用于当确定存在内存不足OOM时,将第二缓存区中存储的解码成功的文件删除。
本发明实施例提供一种内存释放方法及装置,对文件进行解码后,先将解码成功的文件存储在第一缓存区中,在第一缓存区中剩余存储空间不足时,当需要存储新的解码成功的文件时,将第一缓存区中存储时间最长的解码成功的文件转存到第二缓存区中,当确定存在OOM时,将第二缓存区中的解码成功的文件删除,因为第二缓存区中存储的文件为存储时间较长的文件,调用的概率较小,因此在存在OOM时删除第二缓存区中存储的文件不会影响移动终端的正常使用,且能够有效的解决OOM问题,从而实现了在避免影响移动终端的正常使用的情况下有效的解决OOM问题。
附图说明
图1为本发明实施例提供的一种内存释放方法流程图之一;
图2为本发明实施例提供的一种链表哈希映射结构示意图;
图3为本发明实施例提供的一种内存释放方法流程图之二;
图4为本发明实施例提供的一种较佳的内存释放的方法流程图;
图5为本发明实施例提供的一种内存释放装置结构示意图之一;
图6为本发明实施例提供的一种内存释放装置结构示意图之二。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛海信移动通信技术股份有限公司,未经青岛海信移动通信技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310191323.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:多功能动态圆形舞台装置
- 下一篇:一种优化系统资源的方法、装置及系统