0
我建了一个自定义视图,并在其构造我做postDelay()
利用滑行来更新的ImageViewgetHandler()。removeCallbacksAndMessages(空)不工作
postDelayed(new Runnable() {
@Override
public void run() {
Glide.with(getContext())
.load("url").asBitmap()
.into(new SimpleTarget<Bitmap>(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL) {
@Override
public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {
Drawable drawable = new BitmapDrawable(resource);
setBackground(drawable);
}
});
}
},5000);
并且如果用户单击后退并且活动被破坏,Glide会崩溃应用程序(Glide检查活动是否仍然有效) 我将清理处理程序中的所有消息。
所以在onDetachedFromWindow()
方法:
@Override
protected void onDetachedFromWindow() {
getHandler().removeCallbacksAndMessages(null);
super.onDetachedFromWindow();
}
但问题是,即使我很快就点击后退按钮(1-2秒)我postDelay()
还是被解雇了可运行的。
有什么理由?
感谢
只需使用[Glide.clear()](http://bumptech.github.io/glide/javadocs/331/com/bumptech/glide/Glide的.html#清除(android.view.View))。 – azizbekian