[发明专利]图片加载方法、终端和计算机可读存储介质有效
申请号: | 201710508961.7 | 申请日: | 2017-06-28 |
公开(公告)号: | CN107480169B | 公开(公告)日: | 2020-12-18 |
发明(设计)人: | 周培园 | 申请(专利权)人: | 南京车链科技有限公司 |
主分类号: | G06F16/957 | 分类号: | G06F16/957;G06F12/02 |
代理公司: | 合肥兴东知识产权代理有限公司 34148 | 代理人: | 王伟 |
地址: | 210036 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 图片 加载 方法 终端 计算机 可读 存储 介质 | ||
本发明公开了一种图片加载方法、终端和计算机可读存储介质,该方法可在图片缓存内存的预设内存中不存在待加载图片时;判断预设内存中当前未在屏幕上显示的图片中,是否存在与待加载图片的尺寸差在预设尺寸范围差内的第一图片;有则获取第一图片的内存,获取待加载图片,以待加载图片更新第一图片的内存,显示待加载图片;否则从图片缓存内存中为待加载图片分配内存,获取待加载图片,在分配的内存上绘制待加载图片的图片信息,显示待加载图片,将待加载图片对应的内存划分为预设内存,本发明以对图片内存缓存中已有图片内存的复用,改善了现有技术中图片加载器不停释放和分配内存造成的内存抖动的问题,以及内存抖动带来的不良影响,提升了用户的体验。
技术领域
本发明涉及终端技术领域,尤其涉及一种图片加载方法、终端和计算机可读存储介质。
背景技术
随着智能手机的发展,越来越多的人选择手机来进行拍照,这就诞生了很多的图片类APP,为了提高这类APP的用户体验,现有的图片加载组件都使用二级缓存的方式进行图片加载,如图2所示,加载图片的步骤如下:
1、查询内存缓存中是否有需要加载的该图片,没有则进入下一步;
2、查询磁盘缓存是否有需要加载的该图片,没有则进入下一步;
3、下载图片;
4、缓存图片到内存缓存;
5、保存图片到磁盘缓存。
在现有技术中,当需要加载图片的时候,首先查看内存缓存是否有对应的图片,如果有,则直接返回图片信息;如果内存缓存没有,则查看磁盘缓存,磁盘缓存如果有图片信息,则将磁盘缓存的图片返回到图片加载器,并放入内存缓存中;如果磁盘缓存也没有图片信息,则需要到图片服务器进行图片下载,下载完成后放入内存缓存,并存入磁盘缓存中。
其中,读取内存缓存和磁盘缓存的速度有很大的差别,内存缓存相当于手机的RAM,读取速度飞快,磁盘缓存相当于手机的SD卡,需要进行IO操作,速度相对较慢。
为了提升图片类APP的用户体验,现有的图片加载器都是配置一块内存缓存区域,用来存储内存中的图片,以提高图片二次加载的速度;当内存缓存达到上限的时候,就会通过一定的算法来释放已有的缓存资源。例如使用LRU(先进先出)策略,当用户浏览的图片的内存大于配置的内存缓存后,会回收最先存入的图片内存,以便让新的图片能够存入内存缓存中。
在内存缓存达到上限后,用户再浏览图片,就会不停的触发缓存区域的释放和分配操作,而不停的释放和分配内存很容易造成手机的内存抖动,内存抖动就会引发一系列的性能问题,包括GC(垃圾收集)、ANR(界面无响应)、手机卡顿、OOM(内存溢出)、内存碎片等,造成了用户体验的不友好。
发明内容
本发明的主要目的在于提出一种图片加载方法、终端和计算机可读存储介质,旨在解决现有技术中图片在加载时易发生手机内存抖动,引发垃圾收集、界面无响应、手机卡顿、内存溢出、内存碎片等的问题。
为实现上述目的,本发明提供一种图片加载方法,包括:
当终端需要加载图片时,确定待加载图片,检查图片缓存内存的预设内存中是否存在待加载图片;
若存在,则从预设内存中获取待加载图片进行显示;
若不存在,则判断预设内存中存储的当前未在屏幕上显示的图片中,是否存在与待加载图片的尺寸差在预设尺寸范围差内的第一图片;
若有,则获取第一图片的内存,获取待加载图片,以待加载图片更新第一图片的内存,显示待加载图片;
否则,从图片缓存内存中为待加载图片分配内存,获取待加载图片,在内存上绘制待加载图片的图片信息,显示待加载图片,将待加载图片对应的内存划分为预设内存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京车链科技有限公司,未经南京车链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710508961.7/2.html,转载请声明来源钻瓜专利网。