Close unused Image before acquire new one

Fix IllegalStateException: maxImages (30) has already been acquired, call #close before acquiring more.
Before onImageRequestCompleted, onImageAvailable may be called multiple times, with only the last one being used. And acquireLatestImage has limitations, so it is necessary to close unused images.

Change-Id: I2cc1da31596d2458b31d14340b151ac0d8311ca7
This commit is contained in:
hainiaochen
2023-05-11 12:42:04 +08:00
parent 3e13eb5a26
commit df620959c9

View File

@@ -365,6 +365,9 @@ public class ScrollCaptureClient {
@Override
public void onImageAvailable(ImageReader reader) {
synchronized (mLock) {
if (mCapturedImage != null) {
mCapturedImage.close();
}
mCapturedImage = mReader.acquireLatestImage();
if (mCapturedArea != null) {
completeCaptureRequest();