我遇到了一个问题,我的MacBook上的存储空间不足,在删除了一些文件(与Android无关)后返回我的Android项目时,我现在遇到了库的错误。
这是我收到的错误:
E / Surface:getSlotFromBufferLocked:未知缓冲区:0xab8161a0 01-28
E / libEGL:调用没有当前上下文的OpenGL ES API(记录一次 每个帖子)
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
为空,scaleCenterCrop
不能为空。我仍然不知道为什么它突然变为空?
答案 0 :(得分:1)
我猜这个位图尚未加载,因为你没有把它放在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);
}
});