[发明专利]一种加载图片资源的方法及装置有效
申请号: | 201710296195.2 | 申请日: | 2017-04-28 |
公开(公告)号: | CN107193887B | 公开(公告)日: | 2019-01-29 |
发明(设计)人: | 张磊;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F16/957 | 分类号: | G06F16/957 |
代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 刘杰 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 加载 缓存空间 滑动点 截取 内存总量 图片资源 图片 屏幕 超大图片 获取系统 内存溢出 剩余信息 图片加载 信息加载 有效解决 内存 | ||
本发明提供了一种加载图片资源的方法及装置,所述方法包括:获取待加载图片的尺寸及屏幕尺寸;获取系统剩余内存量及内存总量,根据所述剩余内存量及内存总量确定缓存空间;根据所述缓存空间的容量截取所述待加载图片,并将截取后的所述待加载图片的当前信息加载至所述缓存空间中;获取手指在所述屏幕上的当前滑动点,当确定所述当前滑动点大于截取后的所述待加载图片的边界时,以当前滑动点为第一中心点将所述待加载图片的剩余信息加载至所述缓存空间中;如此,这样通过分片加载的方式将待加载图片加载至缓存空间,有效解决了因超大图片内存过大导致内存溢出的问题。
技术领域
本发明属于图片处理技术领域,尤其涉及一种加载图片资源的方法及装置。
背景技术
在Android开发的过程中,几乎所有的应用都离不开图片的加载。
现有技术中,一般是将图片直接加载进内存然后从内存中再获取到图片的信息展示到屏幕上,这种方法对于比较小的图片是可以的。但是如果按照上述方法去加载一张大的图片,内存中的图片大小会超过堆内存的总大小,导致系统无法一次性分配这么多内存,进而导致出现内存溢出。
基于此,本发明提供一种加载图片资源的方法及装置,以解决现有技术中的上述问题。
发明内容
针对现有技术存在的问题,本发明实施例提供了一种加载图片资源的方法及装置,用于解决现有技术中在加载大内存的图片时,由于内存中的图片大小会超过堆内存的空间,导致内存溢出的技术问题。
本发明提供一种加载图片资源的方法,所述方法包括:
获取待加载图片的尺寸;
获取系统剩余内存量及内存总量,根据所述剩余内存量及所述内存总量确定缓存空间;
根据所述缓存空间的容量截取所述待加载图片,并将截取后的所述待加载图片的当前信息加载至所述缓存空间中;
获取手指在所述屏幕上的当前滑动点,当确定所述当前滑动点超出截取后的所述待加载图片的边界时,以所述当前滑动点为第一中心点截取所述待加载图片的剩余信息,将截取后的所述待加载图片的剩余信息加载至所述缓存空间中。
上述方案中,所述根据所述剩余内存量及内存总量确定缓存空间,包括:
根据所述剩余内存量及内存总量确定所述内存的剩余率;
获取屏幕尺寸,根据所述屏幕尺寸确定全屏界面所需的内存量;
根据公式C=B*A确定所述缓存空间C;其中,所述A为所述剩余率,所述B为全屏界面所需的内存量。
上述方案中,所述根据所述缓存空间的容量截取所述待加载图片,包括:
确定所述待加载图片的中心位置,将所述中心位置设置为第二中心点;
根据屏幕尺寸确定所述待加载图片的第一截取区域及宽高比;
以所述第二中心点为中心,基于所述第一截取区域及所述宽高比利用截取算法decodeRegion对所述待加载图片进行截取。
上述方案中,将截取后的所述待加载图片加载至所述缓存空间中后,还包括:加载完成后返回第一位图对像,将所述第一位图对像设置在显示背景中,显示所述待加载图片的当前信息。
上述方案中,以当前滑动点为第一中心点加载所述待加载图片的剩余信息后,还包括:加载完成后返回第二位图对像,将所述第二位图对像设置在显示背景中,刷新并显示所述待加载图片的剩余信息。
本发明还提供一种加载图片资源的装置,所述装置包括:
获取单元,用于获取待加载图片的尺寸、系统剩余内存量及内存总量及手指在所述屏幕上的当前滑动点;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710296195.2/2.html,转载请声明来源钻瓜专利网。