Неверное изображение, отображаемое с помощью библиотеки Glide

Я использую библиотеку glide в моем проекте Android для извлечения и отображения изображений. Раньше я использовал версию 2.0.5 и сталкивался с проблемой рендеринга. Проблема заключалась в том, что неправильные образы были рендерингом. Я обновил библиотеку до версии 3.3, и теперь она вылетает со следующим исключением.

14-Sep-2014 08:41:31 PM java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity at com.bumptech.glide.manager.RequestManagerRetriever.get(RequestManagerRetriever.java:63) at com.bumptech.glide.manager.RequestManagerRetriever.get(RequestManagerRetriever.java:29) at com.bumptech.glide.Glide.with(Glide.java:537) at com.miamiheat.common.MHImageDownloadWrapper.loadImage(MHImageDownloadWrapper.java:12) at com.miamiheat.ui.module.MHWallpaperModule.setWallpaperViewData(MHWallpaperModule.java:234) at com.miamiheat.ui.module.MHWallpaperModule.taskManagerResponseCallback(MHWallpaperModule.java:257) at com.miamiheat.service.taskmanager.MHWallpaperTaskManager.asyncResultCallback(MHWallpaperTaskManager.java:133) at com.miamiheat.service.framework.MHAsyncServiceTask.onPostExecute(MHAsyncServiceTask.java:191) at android.os.AsyncTask.finish(AsyncTask.java:631) at android.os.AsyncTask.access$600(AsyncTask.java:177) at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:176) at android.app.ActivityThread.main(ActivityThread.java:5419) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:525) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862) at dalvik.system.NativeStart.main(Native Method) 

Есть все равно, чтобы отменить запрос загрузки изображения на уничтожение активности.

Вы можете всегда использовать Glide.clear() для отмены загрузки.

Однако это исключение возникает, когда вы пытаетесь запустить новую нагрузку после уничтожения вашей активности. Вы загружаете изображения после асинхронного сбора некоторых данных? Если это так, вы, вероятно, захотите отменить свою асинхронную выборку, когда ваша активность будет остановлена ​​или, по крайней мере, проигнорировать результат, если фишка закончится и ваша деятельность будет уничтожена.

Glide.clear () иногда не помогает мне. Передайте контекст приложения в Glide.with (…) с помощью метода getApplicationContext ().

Вы должны вызвать Glide.with(getActivity()).pauseRequests() или Glide.get(getActivity()).clearMemory() в методе onDestroy() или onDestroyView() , просто удалите его.

Добавьте это перед вызовом Glade

 if(!this.isDestroyed()){ Glide.with(activity).load(...) .... } 
Intereting Posts
Как определить, работает ли Android-приложение на переднем плане? Общие элементы, анимация между фрагментами Отладка приложений для Android на сайте Dell 7 с использованием Eclipse Я хочу установить максимальную высоту в фрагменте диалога Лучший способ постоянного отслеживания местоположения Добавление элемента CheckBox в ListView не позволяет ему получать ItemClick Android – утечка памяти, что я делаю неправильно? Невозможно создать файлы на Android с помощью Xamarin SetTextAppearance устарел на уровне API 23 Отправить объект json с помощью метода http post для приложения для Android Как заменить ViewPager на фрагмент Как создать накладной макет при просмотре списка Отдельный значок запуска и активности с Android Событие Javascript для повторного запуска мобильного браузера или устройства Аудио Воспроизведение из URI Inside Listview, но Seekbar не обновляется в элементе списка ListView