图片加载要考虑的问题
图片加载不仅仅是将图片显示出来的问题,不同场景该使用什么缩放模式?activity销毁后图片还在后台请求?是否会造成内存浪费?设置占位符和加载失败的图片?圆角图等怎么变换?
读郭霖Glide图片加载框架总结
带着以上问题,拜读了郭霖大神的Glide图片加载框,总结并实际验证,得出以下几点:
1.图片加载周期
Glide最简单的用法:
Glide.with(context).load(url).into(imageView)
with()方法中传入的Context实例会决定Glide加载图片的生命周期,如果传入的是Activity或者Fragment的实例,那么当这个Activity或Fragment被销毁的时候,图片加载也会停止。如果传入的是ApplicationContext,那么只有当应用程序被杀掉的时候,图片加载才会停止。
想法:传入ImageView.getContext()实例是不是最好的方案,ImageView所在的Context销毁了,图片自然应该取消加载。此方案是否可行?列表的回收机制会不会有问题?
结论:不是最好的方案,fragment和adapter中ImageView.getContext()返回的都是Activity,当fragment或adapter销毁但activity并没有销毁时,图片仍会加