[发明专利]一种加载图片的方法和装置在审
申请号: | 202010224131.3 | 申请日: | 2020-03-26 |
公开(公告)号: | CN113449215A | 公开(公告)日: | 2021-09-28 |
发明(设计)人: | 徐宏伟 | 申请(专利权)人: | 北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F16/957 | 分类号: | G06F16/957;G06F16/172;G06F16/176 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;王安娜 |
地址: | 100176 北京市北京经济技术*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 加载 图片 方法 装置 | ||
本发明公开了一种加载图片的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:检测图片加载环境是否为目标环境;其中,所述目标环境为原生环境或者非原生环境;若是,则从所述目标环境对应的第一图片加载库的内存缓存中获取目标图片;若否,则从除所述目标环境以外的环境对应的第二图片加载库的内存缓存中获取目标图片;加载所述目标图片。该实施方式能够解决重复保存图片导致增加内存负担的技术问题。
技术领域
本发明涉及计算机技术领域,尤其涉及一种加载图片的方法和装置。
背景技术
目前,大多数应用程序中都存在混合开发(一部分页面使用原生图片加载库开发、一部分页面使用非原生图片加载库开发),对于原生页面开发早已有较多成熟的图片加载库(比如fresco、glide、picasso等)可使用,但非原生图片加载库(比如Flutter)只支持内存缓存,当用户下次进入同一个页面并显示相同图片时,会重新下载图片并加载,相同的图片在内存中会保存两份,这会严重增加内存的负担。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
原生图片加载库只能在安卓页面中使用,内存中已加载的图片无法共享给Flutter页面使用,Flutter页面中加载到内存中的图片也无法共享给原生页面显示;而且Flutter中的图片只支持内存缓存,没有文件缓存逻辑。
发明内容
有鉴于此,本发明实施例提供一种加载图片的方法和装置,以解决重复保存图片导致增加内存负担的技术问题。
为实现上述目的,根据本发明实施例的一个方面,提供了一种加载图片的方法,包括:
检测图片加载环境是否为目标环境;其中,所述目标环境为原生环境或者非原生环境;
若是,则从所述目标环境对应的第一图片加载库的内存缓存中获取目标图片;
若否,则从除所述目标环境以外的环境对应的第二图片加载库的内存缓存中获取目标图片;
加载所述目标图片。
可选地,从所述目标环境对应的第一图片加载库的内存缓存中获取目标图片,包括:
判断所述目标环境对应的第一图片加载库的内存缓存中是否存在目标图片;
若是,则直接获取所述目标图片;
若否,则将所述目标图片从除所述目标环境以外的环境对应的第二图片加载库的内存缓存传递至所述目标环境对应的第一图片加载库的内存缓存,并获取所述目标图片。
可选地,将所述目标图片从除所述目标环境以外的环境对应的第二图片加载库的内存缓存传递至所述目标环境对应的第一图片加载库的内存缓存,包括:
将所述目标图片转换为字节数组;
通过方法通道将所述目标图片的字节数组从除所述目标环境以外的环境对应的第二图片加载库的内存缓存传递至所述目标环境对应的第一图片加载库的内存缓存。
可选地,将所述目标图片从除所述目标环境以外的环境对应的第二图片加载库的内存缓存传递至所述目标环境对应的第一图片加载库的内存缓存,包括:
判断除所述目标环境以外的环境对应的第二图片加载库的内存缓存中是否存在所述目标图片;
若是,则将所述目标图片从除所述目标环境以外的环境对应的第二图片加载库的内存缓存传递至所述目标环境对应的第一图片加载库的内存缓存;
若否,则从所述第一图片加载库的文件缓存或者所述第二图片加载库的文件缓存中获取所述目标图片,并将所述目标图片存储到所述第一图片加载库的内存缓存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司,未经北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010224131.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种测试数据的处理方法和装置
- 下一篇:一种电子信息读卡器识别装置