一种图片缓存的方法与流程

文档序号:11828668阅读:742来源:国知局
一种图片缓存的方法与流程

本发明涉及互联网技术领域,尤其涉及一种图片缓存的方法。



背景技术:

从网络获取图片需要流量以及时间,如果每次显示图片都重新从网络获取,会严重影响用户体验。所以通常使用图片缓存技术,将图片从网络读取后放入内存空间中,再次显示时先从内存中查找图片是否存在,如存在则直接显示,不用从网络重新获取,减少网络流量和等待时间,提升用户体验。

由于内存空间容量有限,不可能无限制的缓存图片,当内存空间不足时,必须舍弃一些已缓存的图片以便让出空间缓存新的图片。被舍弃的图片有可能被再次使用,为了提高效率,需要算法挑选舍弃那些最不可能被再次使用的图片,保留最有可能被再次使用的图片。

现有的技术使用先进先出算法,按照时间顺序舍弃最先缓存的图片,即先进入内存的图片,先退出内存。但是并不是先被添加的图片被再次使用的概率就低,这种算法经常将一些先被加载但是常用的图片舍弃,造成效率降低。



技术实现要素:

本发明的目的是为了克服现有技术的缺陷,提供一种图片缓存的方法,避免了常用图片被舍弃,提高了运行效率。

为实现上述目的,本发明提供了一种图片缓存的方法,该方法包括以下步骤:

记录每个图片的属性,包括缓存的添加时间、使用次数、最后使用时间、使用位置以及屏幕滑动方向;

计算图片的属性权重;

根据权重值大小对图片进行取舍,权重值越大表示此图片越重要,则保留在缓存中,权重值越小表示此图片越不重要,则舍弃释放空间用来存储新的图片。

进一步地,图片的属性具体为:

图片的添加时间--图片从网络获取后放入内存空间时的时间;

使用次数--图片被使用的次数,每使用一次使用次数加1;

最后使用时间--图片最后被使用的时间;

使用位置--由屏幕左上角开始,从上到下从左到右进行编号,记录图片最后被显示的位置;

屏幕滑动方向--用户当前滑动屏幕的方向。

进一步地,权重由图片的添加时间、使用次数、最后使用时间、使用位置、屏幕滑动方向维度计算得出;其中,

图片的添加时间:越早添加的图片权重值越小,越晚添加的图片权重值越大;

使用次数:越少使用的图片权重值越小,越多使用的图片权重值越大;

最后使用时间:越早使用的图片权重值越小,越晚使用的图片权重值越大;

使用位置和屏幕滑动方向:

1)当向下滑动时,当前位置上方的图片权重值小,当前位置下方的图片权重值大,且离当前位置越近权重值越大;

2)当向上滑动时,当前位置上方的图片权重值大,当前位置下方的图片权重值小,且离当前位置越近权重值越大;

3)当向右滑动时,当前位置右方的图片权重值大,当前位置左方的图片权重值小,且离当前位置越近权重值越大;

4)当向左滑动时,当前位置左方的图片权重值大,当前位置右方的图片权重值小,且离当前位置越近权重值越大。

本发明技术方案带来的有益效果:

采用本发明的方法,能够多维度综合计算图片缓存的权重,在进行缓存置换时保留最可能被再次使用的图片,舍弃最不可能被再次使用的图片,避免了常用图片被舍弃,提高了运行效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1是本发明的方法流程图;

图2是本发明的实施例中屏幕与内存初始状态示意图;

图3是本发明的实施例中屏幕向上滑动后的状态示意图;

图4是本发明的实施例中屏幕继续向上滑动后的状态示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

由于内存空间容量有限,不可能无限制的缓存图片,当内存空间不足时,必须舍弃一些已缓存的图片以便让出空间缓存新的图片,本发明提出一种图片缓存的方法,舍弃最不可能被再次使用的图片,保留最有可能被再次使用的图片,使缓存置换后对用户影响最小。

本发明中每个在内存中的图片缓存都对应一个权重值,此权重值由添加时间、使用次数、最后使用时间、使用位置、屏幕滑动方向等维度计算得出。权重值越大表示此图片越重要,在将来越可能被再次使用,需要保留在缓存中,权重值越小表示此图片越不重要,在将来越不可能被再次使用,可以舍弃释放空间用来存储新的图片。

如图1所示为本发明的方法流程图,具体实现方法为:

1.记录每个图片的属性,包括缓存的添加时间、使用次数、最后使用时间、使用位置以及屏幕滑动方向。

添加时间:图片从网络获取后放入内存空间时的时间。

使用次数:图片被使用的次数,每使用一次使用次数加1。

最后使用时间:图片最后被使用的时间。

使用位置:由屏幕左上角开始,从上到下从左到右进行编号,记录图片最后被显示的位置。

屏幕滑动方向:用户当前滑动屏幕的方向。

2.计算图片的属性权重

权重由添加时间、使用次数、最后使用时间、使用位置、屏幕滑动方向等维度计算得出。

图片的添加时间:越早添加的图片权重值越小,越晚添加的图片权重值越大。

使用次数:越少使用的图片权重值越小,越多使用的图片权重值越大。

最后使用时间:越早使用的图片权重值越小,越晚使用的图片权重值越大。

使用位置和屏幕滑动方向:

1)当向下滑动时,当前位置上方的图片权重值小,当前位置下方的图片权重值大,且离当前位置越近权重值越大。

2)当向上滑动时,当前位置上方的图片权重值大,当前位置下方的图片权重值小,且离当前位置越近权重值越大。

3)当向右滑动时,当前位置右方的图片权重值大,当前位置左方的图片权重值小,且离当前位置越近权重值越大。

4)当向左滑动时,当前位置左方的图片权重值大,当前位置右方的图片权重值小,且离当前位置越近权重值越大。

3.对权重值越大表示此图片越重要,在将来越可能被再次使用,需要保留在缓存中,权重值越小表示此图片越不重要,在将来越不可能被再次使用,可以舍弃释放空间用来存储新的图片。

本发明的具体实施如下:

1.一个图片展示页面,屏幕可以显示三张图片,内存空间可缓存四张图片。

2.如图2所示,初始状态屏幕中显示A、B、C三张图片。图片A、B、C从网络读取后放入内存。此时内存中的缓存为A、B、C。

3.如图3所示,当屏幕向上滑动,屏幕中显示B、C、D三张图片。图片B、C从缓存中读取,图片D从网络读取后放入内存。由于内存还有空间,此时内存中的缓存为A、B、C、D。

4.如图4所示,当屏幕继续向上滑动,屏幕中显示C、D、E三张图片,图片C、D从缓存中读取,图片E从网络读取后放入内存。由于内存已满,需要根据算法计算权重舍弃最不可能被再次用到的图片缓存。

添加时间:A=1,B=2,C=3,D=4。

使用次数:A=1,B=1,C=1,D=1。

最后使用时间:A=1,B=2,C=3,D=4。

使用位置和屏幕滑动方向:A=1,B=2,C=3,D=4。

最终权重:A=4,B=7,C=10,D=13。

舍弃权重最小的A,此时内存中的缓存为B、C、D、E。

以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1