最近测试在测试的时候发现项目在返回的时候偶现崩溃现象,经过抓日子发现是Glide加载图片时所报的错误,根据错误信息提示意思指Glide在加载的过程中activity被销毁掉了,导致程序崩溃。我们都知道Glide加载机制是与Fragment和Activity生命周期息息相关,在Glide中,图片的加载会跟随这Activity或者Fragment的生命周期进行相应的加载,停止等操作。
在网上查找相关资料发现基本都是在出现此错误时将getApplicationContext()作为Glide参数即可,虽然此方法可行,但这样的话Glide加载会在应用程序被杀死的时候才会停止。这里并不是很推荐这种做法。这里我们可以自己对Glide稍微封装下:
public class ImageLoader {
private Activity activity;