[发明专利]一种回收图片资源的方法及装置有效
申请号: | 201611189937.3 | 申请日: | 2016-12-21 |
公开(公告)号: | CN106598614B | 公开(公告)日: | 2020-12-25 |
发明(设计)人: | 杨德立 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F9/445 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 王玉双 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 回收 图片 资源 方法 装置 | ||
本发明提供了一种回收图片资源的方法及装置,所述方法包括:将所述图片资源的回收程序封装至图片资源加载类中;为所述图片资源加载类封装一资源管理接口;按照预设的回收时机通过所述资源管理接口调用所述图片资源回收程序,回收无用的图片资源。如此,在加载过程中,当触发所述回收时机时,即可调用图片资源回收程序对无用的图片资源进行回收,确保了可以及时回收无用的图片资源,释放无用图片资源占用的内存,避免NativeCache内存不足,进而避免出现内存溢出OOM问题。
技术领域
本发明属于资源加载技术领域,尤其涉及一种回收图片资源的方法及装置。
背景技术
随着电子产品的不断发展,智能终端基本上已经成为人手必备的电子产品。目前的主流终端(比如手机、平板电脑等)操作系统包括:Android系统和IOS系统。
图片加载功能是终端操作系统需要具备的基本功能,现有技术中,对于Android系统3.0版本之前的版本,在对图片资源进行加载时,通常利用系统默认的资源加载方法对图片进行加载,在加载过程中生成的位图像素数据一般是存在本地缓存NativeCache中的,但由于系统默认的加载方法对图片资源回收不可控,经常会因不能及时回收图片资源,造成NativeCache内存不足,进而导致内存溢出(OOM,Out Of Memory)。
发明内容
针对现有技术存在的问题,本发明实施例提供了一种加载图片资源的方法及装置,用于解决现有技术中Android系统3.0版本以下的版本,在加载图片资源时,无法对图片资源的回收进行控制,造成NativeCache内存不足,进而导致出现OOM的技术问题。
本发明公开了一种回收图片资源的方法,所述方法包括:
将所述图片资源的回收程序封装至图片资源加载类中;
为所述图片资源加载类封装一资源管理接口;
按照预设的回收时机通过所述资源管理接口调用所述图片资源回收程序,回收无用的图片资源。
上述方案中,按照预设的回收时机通过所述资源管理接口调用所述图片资源回收程序,回收无用的图片资源之前,所述方法还包括:建立位图集合,将加载过程中生成的位图像素数据储存至所述位图集合中。
上述方案中,所述回收时机具体为界面上的图片被删除时。
上述方案中,将所述将图片资源的回收程序封装至图片资源加载类之前,所述方法还包括:
将图片背景设置的加载程序及图片内容显示的加载程序封装至所述图片资源加载类中;
通过所述资源管理接口调用相应的图片资源加载类,加载相应的图片背景及图片内容显示。
上述方案中,当所述图片资源加载为图片背景设置的加载时,加载方法具体包括:
当确定所述图片背景未加载过时,获取需要显示的视图尺寸,根据所述视图尺寸判断所述图片背景是否需要压缩;
当确定所述图片背景需要压缩时,根据第一压缩比例压缩所述图片背景;
根据压缩后的图片背景生成所述图片背景的第一位图像素数据;
当确定所述图片背景为普通图片时,根据所述第一位图像素数据生成第一位图对象;
将所述第一位图对象赋值给需要显示图片背景的视图。
上述方案中,当确定所述图片背景不需要压缩时,所述方法还包括:根据当前的图片背景生成所述图片背景的第一位图像素数据。
上述方案中,在加载过程中,所述方法还包括:捕捉内存不足异常,当捕捉到异常时,放弃加载当前的图片背景资源。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611189937.3/2.html,转载请声明来源钻瓜专利网。