图片存储框架
发布时间: 2024-12-07 14:04:10
⑴ Glide图片加载的用法介绍和三级缓存实现
Glide库是用来实现图片加载的框架,功能强大且易使用,深受大家喜爱。
为啥要做缓存? android默认给每个应用只分配16M的内存,所以如果加载过多的图片,为了 防止内存溢出 ,应该将图片缓存起来。
图片的三级缓存分别是:
1、内存缓存
2、本地缓存
3、网络缓存
其中,内存缓存应优先加载,它速度最快;本地缓存次优先加载,它速度也快;网络缓存不应该优先加载,它走网络,速度慢且耗流量。
最优-优先级:内存缓存 > 本地缓存 > 网络缓存
两个方法实现:根据图片的url去加载图片、在本地和内存中缓存
两个方法实现:设置本地缓存,以及获取本地缓存
两个方法实现:设置内存缓存,获取内存缓存。
如果使用hashmap去存储图片时,当图片越来越多,那么会造成内存溢出,因为是强引用(对于强引用的系统不会回收)
如果改成软引用softReference,在android 2.3 以上的系统,对象会被提前回收。
可以用LruCache来解决上述内存不回收或提前回收的问题。least recentlly use 最少最近使用算法 它会将内存控制在一定的大小内, 超出最大值时会自动回收, 这个最大值开发者自己定。(这个东西没有用过..)
参考链接: https://blog.csdn.net/sinat_20645961/article/details/46325243
热点内容