The embodiment of the invention provides a memory release method and device to decode the file after the first successful decoding files are stored in the first buffer, the remaining storage space in the first buffer, when you need to store the new file decoding success, will first slow streambufs stored in the decoding time long successful file transferred to second buffer, when determining the presence of OOM, the second decoding buffer successfully deleted files, because the stored second cache files in the storage time for longer documents, low probability of call, so delete files will not affect the second storage buffer in normal use the mobile terminal in the presence of OOM, and can effectively solve the OOM problem, thus to avoid affecting the normal use of the mobile terminal under the condition of effective problem solving OOM.
【技术实现步骤摘要】
一种内存释放方法及装置本申请是2013年5月21日提出的专利技术名称为“一种内存释放方法及装置”的中国专利技术专利申请201310191323.9的分案申请。
本专利技术涉及移动终端开发技术,尤其涉及一种内存释放方法及装置。
技术介绍
移动终端的内存通常指移动终端的物理内存,当存在应用进程时,移动终端会分配一部分物理内存给该应用进程,则这部分物理内存成为进程可使用内存,通常分配在托管堆上,由移动终端通过垃圾回收(GarbageCollection,GC)来管理,当移动终端的物理内存不足时,移动终端会根据垃圾回收(GarbageCollection,GC)策略清除一些没有被引用到的对象,释放空间,以解决内存不足(outofmemory,OOM)的问题。然而在进行与缓存文件相关的操作时,经常会出现OOM的问题,且很难通过GC策略解决。以位图(Bitmap)文件为例,当需要在一个界面上显示数十张图片乃至上百张图片时,即使使用类似于列表或者网络的控件来实现,限定一次显示的图片数量的上限,并在当图片较多时采用缩略图策略,当多次在一个界面上显示数目较多的图片,也会使大量内存一直被引用,移动终端无法通过GC策略完成回收,也很容易出现内存不足的问题。目前,对于进行文件相关操作时出现的内存不足的问题,存在三种解决方案。第一种解决方案,将文件存储为软引用(SoftReference)对象。软引用是一种需要通过SoftReference类来实现的引用方式,若一个对象为软引用对象,当移动终端出现OOM时,移动终端根据GC策略一定会回收该对象。这种方法的弊端在于,在一个界面上显示大 ...
【技术保护点】
一种内存释放方法,其特征在于,包括:对文件进行解码,并将解码成功的文件存储在第一缓存区中;当确定需要存储的新的解码成功的文件大小大于所述第一缓存区中的未使用的内存大小,或者确定所述第一缓存区中存储的解码成功的文件个数已达到设定个数时,将所述第一缓存区中存储时间最长的解码成功的文件转存到第二缓存区;当确定所述第二缓存区中未使用的内存大小小于当前需要转存到所述第二缓存区的解码成功的文件大小时,将第二缓存区中存储的解码成功的文件删除。
【技术特征摘要】
1.一种内存释放方法,其特征在于,包括:对文件进行解码,并将解码成功的文件存储在第一缓存区中;当确定需要存储的新的解码成功的文件大小大于所述第一缓存区中的未使用的内存大小,或者确定所述第一缓存区中存储的解码成功的文件个数已达到设定个数时,将所述第一缓存区中存储时间最长的解码成功的文件转存到第二缓存区;当确定所述第二缓存区中未使用的内存大小小于当前需要转存到所述第二缓存区的解码成功的文件大小时,将第二缓存区中存储的解码成功的文件删除。2.如权利要求1所述的方法,其特征在于,所述将所述第一缓存区中存储时间最长的解码成功的文件转存到第二缓存区,具体为:将所述第一缓存区中存储时间最长的解码成功的文件转存到所述第二缓存区,并存储成软引用对象。3.如权利要求1所述的方法,其特征在于,所述当确定所述第二缓存区中未使用的内存大小小于当前需要转存到所述第二缓存区的解码成功的文件大小时,将第二缓存区中存储的解码成功的文件删除,具体包括:当确定所述第二缓存区中未使用的内存大小小于当前需要转存到所述第二缓存区的解码成功的文件大小时,将第二缓存区中所述软引用对象删除。4.如权利要求1所述的方法,其特征在于,还包括:确定需要获取解码成功的文件时,在所述第一缓存区中查找所述解码成功的文件;确定所述第一缓存区中不存在所述解码成功的文件时,在所述第二缓存区中查找所述解码成功的文件;确定所述第二缓存区中不存在所述解码成功的文件时,对所述解码成功的文件所对应的原文件进...
【专利技术属性】
技术研发人员:王磊,
申请(专利权)人:青岛海信移动通信技术股份有限公司,
类型:发明
国别省市:山东,37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。