UniversalImageLoader 空崩溃

UniversalImageLoader null crash

我有一个问题,我的 MacBook 运行 存储空间不足,在删除一些文件(与 Android 无关)后返回我的 Android 项目时,我是现在遇到库错误。

这是我收到的错误:

E/Surface: getSlotFromBufferLocked: unknown buffer: 0xab8161a0 01-28

E/libEGL: call to OpenGL ES API with no current context (logged once per thread)

E/ImageLoader: null

相关代码如下:

@Override
public void onBindViewHolder(final AttractionRowViewHolder attractionRowViewHolder, int position) {
    ImageLoader imageLoader;
    imageLoader = ImageLoader.getInstance();

    Bitmap imageTest = imageLoader.loadImageSync(currentAttraction.attractionImageSmall, options);
    Bitmap image = ImageHelper.scaleCenterCrop(imageTest, 156, 156); //Twice size of image view to retain resolution
    image = ImageHelper.getRoundCornerBitmap(image, 14); //Twice actual scaled down corner radius
    attractionRowViewHolder.imageView.setImageBitmap(image);
}

这条线崩溃了:

    Bitmap imageTest = imageLoader.loadImageSync(currentAttraction.attractionImageSmall, options);

我尝试过 gradle 同步、重建、重命名 .jar 文件等,但到目前为止没有任何效果。

有人有什么想法吗?我假设当我 运行 容量不足时自动删除了一些东西。

编辑:

原来是下面那行崩溃了。 imageTest为null,scaleCenterCrop不能取null。我还是不知道为什么它突然变成了空?

我猜位图还没有加载,因为你没有把它放在 AsyncTask 中。

你为什么不这样做呢?

imageLoader.loadImage(currentAttraction.attractionImageSmall, new SimpleImageLoadingListener() {
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
    Bitmap image = ImageHelper.scaleCenterCrop(loadedImage, 156, 156);
    image = ImageHelper.getRoundCornerBitmap(image, 14);
    attractionRowViewHolder.imageView.setImageBitmap(image);
}
});