glide
glide copied to clipboard
NullPointerException-DecodeJob.runLoadPath
4.13.1:
okhttp3-4.9.3:
Various Android phones and Android systems.:
Glide load line / GlideModule
(if any) / list Adapter code (if any):
@GlideModule
public class NBGlideModule extends AppGlideModule {
@Override
public void registerComponents(@NonNull Context context, @NonNull Glide glide, @NonNull Registry registry) {
OkHttpClient client = new OkHttpClient.Builder()
.readTimeout(5, TimeUnit.SECONDS)
.connectTimeout(5, TimeUnit.SECONDS)
.addInterceptor(new RecordDownloadInterceptor())
.build();
OkHttpUrlLoader.Factory factory = new OkHttpUrlLoader.Factory(client);
registry.replace(GlideUrl.class, InputStream.class, factory);
}
@Override
public void applyOptions(@NonNull @NotNull Context context, @NonNull @NotNull GlideBuilder builder) {
super.applyOptions(context, builder);
builder.setSourceExecutor(GlideExecutorUtils.createGlideExecutor(NBExecutors.IoService))
.setDiskCacheExecutor(GlideExecutorUtils.createGlideExecutor(NBExecutors.DefaultService))
.setAnimationExecutor(GlideExecutorUtils.createGlideExecutor(NBExecutors.DefaultService));
if (DeviceUtil.getDeviceTier().val < DeviceUtil.DEVICE_TIER.GOOD.val) {
//only enable RGB_565 mode with low performance device.
builder.setDefaultRequestOptions(
RequestOptions.formatOf(DecodeFormat.PREFER_RGB_565)
);
}
}
}
package com.bumptech.glide.load.engine.executor
import android.annotation.SuppressLint
import java.util.concurrent.ExecutorService
object GlideExecutorUtils {
@SuppressLint("VisibleForTests")
@JvmStatic
fun createGlideExecutor(executorService: ExecutorService): GlideExecutor {
return GlideExecutor(executorService)
}
}
Stack trace / LogCat:
Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'n3.v n3.t.a(com.bumptech.glide.load.data.e, l3.i, int, int, n3.j$a)' on a null object reference
at com.bumptech.glide.load.engine.DecodeJob.runLoadPath(DecodeJob.java:535)
at com.bumptech.glide.load.engine.DecodeJob.decodeFromFetcher(DecodeJob.java:499)
at com.bumptech.glide.load.engine.DecodeJob.decodeFromData(DecodeJob.java:485)
at com.bumptech.glide.load.engine.DecodeJob.decodeFromRetrievedData(DecodeJob.java:430)
at com.bumptech.glide.load.engine.DecodeJob.onDataFetcherReady(DecodeJob.java:394)
at com.bumptech.glide.load.engine.SourceGenerator.cacheData(SourceGenerator.java:176)
at com.bumptech.glide.load.engine.SourceGenerator.startNext(SourceGenerator.java:56)
at com.bumptech.glide.load.engine.DecodeJob.runGenerators(DecodeJob.java:311)
at com.bumptech.glide.load.engine.DecodeJob.runWrapped(DecodeJob.java:280)
at com.bumptech.glide.load.engine.DecodeJob.run(DecodeJob.java:235)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:98)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
nobody solve? I meet too
I got the same problem