13

Android プロジェクトで glide ライブラリを使用して、画像を取得して表示しています。以前はバージョン 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)

アクティビティの破棄時に画像のダウンロード要求をキャンセルする方法はありますか?

4

5 に答える 5

7

Glide.clear() が役に立たないことがあります。getApplicationContext() メソッドを使用して、アプリケーション コンテキストを Glide.with(...) に渡します。

于 2015-09-01T22:38:55.847 に答える
3

メソッドorでGlide.with(getActivity()).pauseRequests()orを呼び出す必要があります。削除するだけです。Glide.get(getActivity()).clearMemory()onDestroy()onDestroyView()

于 2016-03-22T10:18:46.183 に答える