[发明专利]一种加载图片的方法及装置有效
申请号: | 201810264364.9 | 申请日: | 2018-03-28 |
公开(公告)号: | CN110555118B | 公开(公告)日: | 2022-08-16 |
发明(设计)人: | 薛敬飞;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F16/51 | 分类号: | G06F16/51;G06F16/957 |
代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 刘杰 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 加载 图片 方法 装置 | ||
本发明提供了一种加载图片的方法、装置及计算机设备,所述方法包括:将目标应用程序文件的各图片下载至本地存储中;从本地存储中获取各图片的位图数据,将各图片的位图数据存储至预先建立的缓存列表中,所述缓存列表中各位图数据的引用方式为软引用;当需要加载目标图片时,获取目标图片的地址,根据目标图片的地址生成提取标识;判断在缓存列表中是否能查找到提取标识,若查找到,则根据提取标识从缓存列表中提取相应的位图数据;将位图数据赋值至预先建立的背景图片中;将图片下载至缓存列表中,使用系统控件就可加载图片;并且因位图数据的引用方式为软引用,当检测出缓存列表占用的内存超出预设的阈值时,就会及时回收图片,避免内存溢出。
技术领域
本发明属于图片处理技术领域,尤其涉及一种加载图片的方法及装置。
背景技术
随着网络通信技术的进步和宽带网络的提速,众多类型的游戏得到了越来越多的发展和应用。
在这些游戏应用中,图片加载功能是游戏应用要具备的基本功能,现有技术中,终端在对图片资源进行加载时,必须通过网络控件来加载图片,但是在一些特殊的游戏中,比如狼人杀等游戏应用中,由于把所有用到图片放入应用安装包中,会增加应用文件(APK,AndroidPackage)的占用内存,用户下载之后由于图片资源过多,使用常规的图片加载方式会出现内存溢出的情况。
发明内容
针对现有技术存在的问题,本发明实施例提供了一种加载图片的方法及装置,用于解决现有技术中终端在加载图片资源时,必须通过网络控件来加载图片,增加应用文件APK的占用内存,进而导致出现内存溢出的技术问题。
本发明提供一种加载图片的方法,所述方法包括:
将目标应用程序文件的各图片下载至本地存储中;
当首次加载各所述图片时,从所述本地存储中获取各所述图片的位图数据,将各所述图片的位图数据存储至预先建立的缓存列表中,所述缓存列表中各位图数据的引用方式为软引用;
当再次加载目标图片时,获取所述目标图片的地址,根据所述目标图片的地址生成提取标识;
判断在所述缓存列表中是否能查找到所述提取标识,若查找到,则根据所述提取标识从所述缓存列表中提取相应的位图数据;
将所述位图数据赋值至预先建立的背景图片中。
上述方案中,所述缓存列表设置在预先建立的图片加载类中,所述图片加载类的加载模式为单例模式。
上述方案中,若在所述缓存列表中没有查找到所述提取标识,还包括:
根据所述目标图片的地址获取图片资源;
根据所述图片资源生成所述目标图片的位图数据,并将所述位图数据存储至所述缓存列表中。
上述方案中,所述根据所述图片资源生成所述位图数据,并将所述位图数据存储至所述缓存列表中后,包括:
判断所述缓存列表当前占用的内存是否超过预设的阈值,若超过,则按照从前往后的顺序删除各所述图片的位图数据,直至所述缓存列表占用的内存低于所述预设的阈值。
上述方案中,当所述图片为进度条图片时,所述进度条图片包括:父布局及子布局;
所述父布局设置在所述子布局上方,所述父布局及所述子布局的初始长度相等;所述子布局能相对所述父布局移动。
上述方案中,所述将所述位图数据加赋值至预先建立的背景图片中,包括:
利用相对布局、框架布局、线性布局、绝对布局或表格布局将所述位图数据加赋值至预先建立的背景图片中。
本发明还提供一种加载图片的装置,所述装置包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810264364.9/2.html,转载请声明来源钻瓜专利网。