не может начать загрузку уничтоженной активности

привет у меня такая проблема

java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity

Я пробовал другой метод, который я делал во время этой ошибки, но ни один из них не работает. В моем случае, когда мое приложение запускается, в его основном действии загружается видео. Когда я нажимаю кнопку «Назад» во время загрузки этого видео, мое приложение вылетает. Может кто-нибудь, пожалуйста, помогите мне?

Это мой метод уничтожения

@Override
protected void onDestroy() {

        Glide.with(getApplicationContext()).pauseRequests();
        super.onDestroy();
}

Журнал:

10-10 12:33:09.294 752-824/? E/WifiConfigStore: updateConfiguration freq=2437 BSSID=c8:50:e9:0f:10:fa RSSI=-44 "nirc1"WPA_PSK
10-10 12:33:09.628 15936-15936/? E/UncaughtException: 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.manager.RequestManagerRetriever.get(RequestManagerRetriever.java:87)
    at com.bumptech.glide.Glide.with(Glide.java:657)
    at com.freesoulapps.preview.android.Preview$7$3.run(Preview.java:277)
    at android.os.Handler.handleCallback(Handler.java:815)
    at android.os.Handler.dispatchMessage(Handler.java:104)
    at android.os.Looper.loop(Looper.java:194)
    at android.app.ActivityThread.main(ActivityThread.java:5631)
    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:959)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)
10-10 12:33:09.690 1803-15644/? E/NetworkScheduler: Invalid component specified.
10-10 12:33:10.087 15936-15936/? E/AndroidRuntime: FATAL EXCEPTION: main

person Sudeep    schedule 10.10.2018    source источник
comment
Можете ли вы опубликовать весь свой Logcat, пожалуйста   -  person Ümañg ßürmån    schedule 10.10.2018
comment
Конечно. Пожалуйста, посмотрите на это. я только что отправил   -  person Sudeep    schedule 10.10.2018
comment
Проверьте мое решение. Попытайся.   -  person Ümañg ßürmån    schedule 10.10.2018
comment
проверьте это stackoverflow.com/questions/39093730/   -  person unzila    schedule 10.10.2018
comment
на самом деле функция onDestroyed не выполняется   -  person Sudeep    schedule 10.10.2018


Ответы (3)


Решение:

Вы должны использовать your_activity_name.this вместо getApplicationContext() и isDestroyed(), как показано ниже:

@override
protected void onDestroy() {
super.onDestroy();

    if (!this.isDestroyed()) {
         Glide.with(your_activity_name.this).pauseRequests();
    }

}

Попытайся. Надеюсь, поможет.

person Ümañg ßürmån    schedule 10.10.2018
comment
я думаю проблема в API ниже 24 - person Sudeep; 10.10.2018
comment
Хм, тогда поставьте галочку в том же условии, если и попробуйте @Sudeep - person Ümañg ßürmån; 10.10.2018

если вы используете getApplicationContext() при инициализации скольжения как Glide.with(getApplicationContext()) и приостанавливаете весь запрос, переопределяя onDestroy() как

@override
protected void onDestroy() {
super.onDestroy();
Glide.with(getApplicationContext()).pauseRequests();
}
person Chetan Ansel    schedule 10.10.2018
comment
Вы пробовали мой вызов кода super.ondestroy перед Glide.with(getApplicationContext()).pauseRequests(); - person Chetan Ansel; 10.10.2018
comment
Вы инициализировали скольжение: Glide.with(getApplicationContext()) - person Chetan Ansel; 10.10.2018

Сначала проверьте, доступен ли ваш текущий контекст класса, прежде чем делать это в методе onDestroy().

@override
protected void onDestroy() {
super.onDestroy();

    if (!this.isFinishing ()) {
         Glide.with(getApplicationContext()).pauseRequests();
     }
    }

Подробнее см. это

person Hemant Parmar    schedule 10.10.2018
comment
Я попробовал вышеуказанный метод, братан. ошибка все та же :( - person Sudeep; 10.10.2018
comment
Вы отлаживали код и доходили ли контрольные точки до условия? - person Hemant Parmar; 10.10.2018
comment
на самом деле функция onDestroyed не выполняется - person Sudeep; 10.10.2018