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