You cannot start a load for a destroyed activity in relativelayout image using glide

匿名 (未验证) 提交于 2019-12-03 01:25:01

问题:

I am using relativelayout to set an image.Why I hadn't using imageview means, inside relativelayout image, I am setting icons.

I dont know what is the issue exactly in glide.I have posted the stacktrace and relevant code below:

Logcat:

 FATAL EXCEPTION: main    Process: com.app.steve, PID: 15928   java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity    at com.bumptech.glide.manager.RequestManagerRetriever.assertNotDestroyed(RequestManagerRetriever.java:134)    at com.bumptech.glide.manager.RequestManagerRetriever.get(RequestManagerRetriever.java:102)    at com.bumptech.glide.Glide.with(Glide.java:644)                                                                     at com.app.steve.TabMorePagesDetailActivity$allPageDetails.onPostExecute(TabMorePagesDetailActivity.java:1050)      at com.app.steve.TabMorePagesDetailActivity$allPageDetails.onPostExecute(TabMorePagesDetailActivity.java:885)     at android.os.AsyncTask.finish(AsyncTask.java:632)     at android.os.AsyncTask.access$600(AsyncTask.java:177)    at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)     at android.os.Handler.dispatchMessage(Handler.java:102)     at android.os.Looper.loop(Looper.java:135)     at android.app.ActivityThread.main(ActivityThread.java:5221)    at java.lang.reflect.Method.invoke(Native Method)     at java.lang.reflect.Method.invoke(Method.java:372)     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 

TabMorePagesDetailActivity.java:

RelativeLayout rlPageCoverImg;  rlPageCoverImg = (RelativeLayout)findViewById(R.id.rl_club_cover_img);  @Override         protected void onPostExecute(String response) {             super.onPostExecute(response);              dialog.dismiss();         ............      String coverIMGurl = cover_avatar_obj.getString("url");      Log.e("ImgURL", coverIMGurl);   Glide.with(TabMorePagesDetailActivity.this).load(coverIMGurl).asBitmap().signature(new StringSignature(String.valueOf(System.currentTimeMillis())))                                         .into(new SimpleTarget(500, 500) {      @Override     public void onResourceReady(Bitmap resource, GlideAnimation super Bitmap> glideAnimation) {     Drawable drawable = new BitmapDrawable(getResources(), resource);     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {                                             rlPageCoverImg.setBackground(drawable);     }     }     });      }else {      rlPageCoverImg.setBackgroundResource(R.drawable.bg_golive);      }        @Override  protected void onDestroy()  {     super.onDestroy();     Glide.clear(rlPageCoverImg);   } 

layout.xml:

     // Inside this relativelayout image, I'm using buttons and icons    

回答1:

Use:

Glide.with(getApplicationContext()).load(...)

Instead of:

Glide.with(TabMorePagesDetailActivity.this).load(...)

Hope it will solve your problem~



回答2:

I have got the same issue before few days.I have solved this to passing the Application context memory behalf of current Class context memory.

May be it will help you :-

use this code

 Glide.with(getApplicationContext())            .load(coverIMGurl)            .asBitmap()            .signature(new StringSignature(String.valueOf(System.currentTimeMillis())))                                     .into(new SimpleTarget(500, 500) {....} 

Even you are getting this issue then read this article carefully "https://github.com/bumptech/glide/issues/1097"

overview for this issue : This is an issue of Glide library.



回答3:

Try this before load your image with Glide, in my case mirefer is a StorageReference, miimagen is a ImageView. I solved this problem, with this. I hope it could help you.

if (!this.isFinishing ()) {                 // Load the image using Glide                 Glide.with(YourActivity.this)                         .using(new FirebaseImageLoader())                         .load(mirefer)                         .into(miimagen);             } 


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!