gpt4 book ai didi

java - ImageReader maxImages (2) 已在后台任务中获取

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:21:52 33 4
gpt4 key购买 nike

我将 ImageReader 与 Handler 结合使用,以便在背景中获取图像。但我得到:

Fatal Exception: java.lang.IllegalStateException maxImages (2) has already been acquired, call #close before acquiring more.

 private final ImageReader.OnImageAvailableListener mOnImageAvailableListener
= new ImageReader.OnImageAvailableListener() {

@Override
public void onImageAvailable(ImageReader reader) {
mBackgroundHandler.post(new ImageSaver(reader.acquireNextImage(), CameraFragment.this));
}

};

我的后台任务是:

    private static class ImageSaver implements Runnable {

/**
* The JPEG image
*/
private final Image mImage;

BaseCameraFragment cameraFragmentContext;

public ImageSaver(Image image, BaseCameraFragment cameraFragmentContext) {
mImage = image;
this.cameraFragmentContext = cameraFragmentContext;
}

@Override
public void run() {
ByteBuffer buffer = mImage.getPlanes()[0].getBuffer();
cameraFragmentContext.photoReady(new ByteBufferInputStream(buffer));
mImage.close();
}

}

我该如何解决这个问题?

最佳答案

`

private ImageReader.OnImageAvailableListener imageAvailableListener = new ImageReader.OnImageAvailableListener()
{
@Override
public void onImageAvailable(ImageReader reader) {
Image img = mReader.acquireLatestImage();

//mReader.close();
img.close();
}
};

`

只需使用img.close();即可解决

关于java - ImageReader maxImages (2) 已在后台任务中获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45650433/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com