[发明专利]一种Android系统的图片加载方法在审
申请号: | 202010872337.7 | 申请日: | 2020-08-26 |
公开(公告)号: | CN111931095A | 公开(公告)日: | 2020-11-13 |
发明(设计)人: | 李广;黄杰 | 申请(专利权)人: | 重庆帮企科技集团有限公司 |
主分类号: | G06F16/957 | 分类号: | G06F16/957 |
代理公司: | 重庆启恒腾元专利代理事务所(普通合伙) 50232 | 代理人: | 万建 |
地址: | 401120 重庆市渝北区龙塔*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 android 系统 图片 加载 方法 | ||
本发明公开了一种Android系统的图片加载方法,通过三级缓存的方式加载图片,包括以下步骤:S1:判断图片是否缓存,若缓存则从缓存中直接读取加载;S2:创建一个线程池;S3:存储到内存和本地;S4:首先到内存中查找当前图片是否缓存,若缓存,则直接加载显示;若没有缓存,则进行下一步;S5:到本地中查找当前图片是否缓存,若缓存,则图片存储至内存缓存,并加载显示;若没有缓存,则进行下一步;S6:去网络中下载,然后存在本地,并存储至内存缓存,然后加载显示。通过三级缓存的方式,提高图片加载效率,减少服务器压力,减少下载流量。
技术领域
本发明涉及通信技术领域,特别是涉及一种Android系统的图片加载方法。
背景技术
在当前的移动设备中,例如基于Android系统的智能手机,一款APP对于图片加载的使用率是非常高的,在一个页面有时候需要加载几十张图片,而对于图片的复用率也是非常高的,例如:用户的头像,商品图片等。在一个列表页面当中,对于图片的复用率也是很高的,当我们滑动屏幕的时候图片的数量会不断的增加,通常会把被移除屏幕的图片进行处理。这个时候,垃圾回收器也会认为你不再持有这些图片的引用,从而对这些图片进行GC(垃圾回收)操作。如果为了让程序快速地运行,在界面上迅速地加载图片,我们又需要考虑到某些图片被回收之后,用户又将它重新滑入屏幕,那么我们有需要重新去加载一次。
因此,在现有的技术当中通常会使用缓存的方式,对部分图片进行缓存加载,现在的图片缓存方式主要有,一种是内存缓存,一种的本地存储。内存缓存是有限度的,每个手机根据内存的大小会分给每个应用一定的内存,具体内存多少不同的手机不一样,所以内存缓存是没有办法缓存大量的图片的。本地存储可以缓存大量的图片,但是加载速度相对于内存缓存来说速度要慢一些。
发明内容
针对上述现有技术的不足,本专利申请所要解决的技术问题是如何提供一种提高图片加载速度和加载效率,增强用户体验,增强用户使用流畅度,减少服务器压力和下载流量的Android系统的图片加载方法。
为了解决上述技术问题,本发明采用了如下的技术方案:
一种Android系统的图片加载方法,通过三级缓存的方式加载图片,包括以下步骤:
S1:判断图片是否缓存,若缓存则从缓存中直接读取加载;
S2:创建一个线程池;
S3:存储到内存和本地;
S4:首先到内存中查找当前图片是否缓存,若缓存,则直接加载显示;若没有缓存,则进行下一步;
S5:到本地中查找当前图片是否缓存,若缓存,则图片存储至内存缓存,并加载显示;若没有缓存,则进行下一步;
S6:去网络中下载,然后存在本地,并存储至内存缓存,然后加载显示。
其中,步骤S1中,判断图片是否缓存,包括以下步骤:
A1:通过标记Tag从内存中读取判断返回Bitmap是否为null,不为null表示内存中存在图片则直接加载,若为null,则进行下一步;
A2:通过Tag从本地存储获取,判断返回Bitmap是否为null。
其中,步骤S2中,创建一个线程池的步骤为:
Executors.newCachedThreadPool();。
其中,步骤S3中,存储到内存和本地存储包括以下步骤:
P1:实例化LruCache;
P2:定义一个存标记的集合;
P3:将url地址作为标记存入集合中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆帮企科技集团有限公司,未经重庆帮企科技集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010872337.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:热交换式反应管
- 下一篇:一种盲文显示模块和盲文显示装置