MainActivity低于加载GIF的代码,应用程序在重新启动活动后因加载GIF而崩溃。
ImageView imageViewGIF = navigationView.findViewById(R.id.imageViewGIF);
Glide.with(this).asGif().load(R.drawable.gift_3).into(imageViewGIF);
使用滑动
在ImageView中加载GIF但是当我因使用
的某些要求重新启动应用程序时 Intent intent = new Intent(context, SplashActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
应用程序因下面的日志而崩溃。
FATAL EXCEPTION: main
Process: com.apppackage, PID: 19360
java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity
at android_support.qc.b(RequestManagerRetriever.java:298)
at android_support.qc.a(RequestManagerRetriever.java:123)
at android_support.ji.a(Glide.java:589)
我使用了'com.github.bumptech.glide:glide:4.2.0'
答案 0 :(得分:1)
这是Glide库中的问题。在加载Glide之前,您可以检查上下文不等于null,或者您可以使用应用程序上下文。
Glide.with(getApplicationContext())
.load(imageUrlToLoad)
.into(ImageView);
答案 1 :(得分:0)
我不知道这是否对某人有帮助,但对我来说是一场斗争。我用过 Glide.with(getApplicationContext())
但没用。
所以,我必须做一个 if 条件来检查活动是否被破坏了:
if (!isDestroyed) {
Glide.with(getApplicationContext())
....
}
这对我来说非常有效!希望对某人有帮助