[发明专利]用于解决申请图片内存不足的内存分配方法及系统有效
| 申请号: | 201310354664.3 | 申请日: | 2013-08-14 |
| 公开(公告)号: | CN103399822A | 公开(公告)日: | 2013-11-20 |
| 发明(设计)人: | 万江霞 | 申请(专利权)人: | 上海斐讯数据通信技术有限公司 |
| 主分类号: | G06F12/02 | 分类号: | G06F12/02 |
| 代理公司: | 上海光华专利事务所 31219 | 代理人: | 余明伟 |
| 地址: | 201616 上海市松*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用于 解决 申请 图片 内存不足 内存 分配 方法 系统 | ||
技术领域
本发明涉及移动终端中的内存管理技术领域,特别是涉及图片的内存管理技术领域,具体为一种用于解决申请图片内存不足的内存分配方法及系统。
背景技术
在移动终端系统中,不时会遇到内存溢出(OOM,Out Of Memory)的问题,即内存不够。特别是,在使用大量图片的时候,这个问题出现的几率比较高,在出现这个问题之后,对应的应用程序往往会强制关闭,给用户的使用带来了极大的不便。
出现这个问题的原因是,当在申请为图片分配内存时,会对需要申请的内存空间进行一个判断,如果当前堆已使用的大小加上申请需要再次分配的内存大小超过了堆的最大内存值,则会抛出OOM的异常。
目前存在两种解决方案:
1、降低图片的分辨率,来减小图片可占用的内存空间大小的方式来解决。
降低图片的分辨率,来减小图片可占用的内存空间大小的方法,是以牺牲图片的分辨率为代价的,图片显示的效果变差,达不到预期的显示效果;另外,如果图片过多,总的图片大小还是会很大,该问题还是不能完全解决。
2、增大可申请的内存空间的大小
增大可申请的内存空间大小的方法,则是提高了图片可申请的空间,但是由于移动终端普遍内存空间有限,如果增大了图片可申请的空间,则减小了程序其他可用空间的大小,从而在一定程度上降低了程序运行的效率;同样的,如果图片过多,可申请的空间大小可能仍然不够。
从以上两种解决技术方案来看,都没有从根本上解决申请图片内存不足的问题。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种用于解决申请图片内存不足的内存分配方法及系统,用于解决现有技术无法从根本上解决申请图片内存不足的问题。
为实现上述目的及其他相关目的,本发明在一方面提供一种用于解决申请图片内存不足的内存分配方法,应用于智能移动终端的内存管理中,所述方法包括:步骤S1,申请图片资源;步骤S2,判断该图片资源是否存在,若是则退出本次内存分配,若否则接着执行步骤S3;步骤S3,判断当前图片所在的图层是否在用户可视的图层之内,若否则退出本次内存分配,若是则接着执行步骤S4;步骤S4,判断智能移动终端的内存是否足够为申请的图片资源分配内存,若是则执行步骤S5,若否则接着执行步骤S6;步骤S5,直接为申请的图片资源分配内存;步骤S6,判断内存堆中是否存在不在用户可视图层之内的图片资源,若否则停止为申请的图片资源分配内存,退出本次内存分配,若是则执行步骤S7;步骤S7,回收不在用户可视图层之内的图片资源的内存;并返回继续执行步骤S4。
作为本发明的一种优选方案,在步骤S3中,若当前图片所在的图层不在用户可视的图层之内,则不为当前图片分配内存并退出本次内存分配。
作为本发明的一种优选方案,在步骤S6中,若内存堆中不存在不在用户可视图层之内的图片资源,则还包括步骤S8,警告当前申请的图片资源过大无法申请足够的内存。
本发明在另外一方面提供一种用于解决申请图片内存不足的内存分配系统,应用于智能移动终端的内存管理中,所述系统包括:内存申请模块,用于为图片资源请求内存;图层管理模块,用于记录并管理各图片所在的图层,将各图层从上到下排序并显示最上层的图层使得最上层的图层可视;内存管理模块,与所述内存申请模块和所述图层管理模块相连,记录智能移动终端当前已经使用的内存大小以及可以分配出去的内存大小,响应内存申请模块的请求,根据可以分配出去的内存大小分配内存,并在当前内存无法分配时回收不在用户可视图层之内的图片资源的内存。
作为本发明的一种优选方案,所述内存管理模块具体包括:内存记录单元,记录智能移动终端当前已经使用的内存大小以及可以分配出去的内存大小;请求响应单元,与所述内存申请模块相连,响应并分析图片资源请求的内存大小;图层可视判断单元,与所述图层管理模块相连,判断当前图片所在的图层是否在用户可视的图层之内;内存大小判断单元,与所述内存记录单元和所述请求响应单元相连,判断智能移动终端的内存是否足够为申请的图片资源分配内存;堆内可视图层判断单元,判断内存堆中是否存在不在用户可视图层之内的图片资源;内存回收单元,与所述堆内可视图层判断单元相连,在堆中存在不在用户可视图层之内的图片资源时回收不在用户可视图层之内的图片资源的内存;内存分配单元,与所述内存大小判断单元相连,在智能移动终端的内存足够为申请的图片资源分配内存时为申请的图片资源分配内存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海斐讯数据通信技术有限公司,未经上海斐讯数据通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310354664.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:多功能远程农庄系统
- 下一篇:火力发电机组全过程能量管理及成本分析系统





