29
29
import java .io .IOException ;
30
30
import java .lang .ref .WeakReference ;
31
31
import java .nio .ByteBuffer ;
32
+ import java .util .ArrayDeque ;
32
33
import java .util .ArrayList ;
33
34
import java .util .HashMap ;
34
35
import java .util .HashSet ;
35
36
import java .util .Iterator ;
36
- import java .util .LinkedList ;
37
37
import java .util .List ;
38
38
import java .util .Set ;
39
39
import java .util .concurrent .atomic .AtomicLong ;
@@ -445,7 +445,7 @@ final class ImageReaderSurfaceProducer
445
445
446
446
private Object lock = new Object ();
447
447
// REQUIRED: The following fields must only be accessed when lock is held.
448
- private final LinkedList <PerImageReader > imageReaderQueue = new LinkedList <PerImageReader >();
448
+ private final ArrayDeque <PerImageReader > imageReaderQueue = new ArrayDeque <PerImageReader >();
449
449
private final HashMap <ImageReader , PerImageReader > perImageReaders =
450
450
new HashMap <ImageReader , PerImageReader >();
451
451
private PerImage lastDequeuedImage = null ;
@@ -465,7 +465,7 @@ public PerImage(Image image, long queuedTime) {
465
465
/** Internal class: state held per ImageReader. */
466
466
private class PerImageReader {
467
467
public final ImageReader reader ;
468
- private final LinkedList <PerImage > imageQueue = new LinkedList <PerImage >();
468
+ private final ArrayDeque <PerImage > imageQueue = new ArrayDeque <PerImage >();
469
469
private boolean closed = false ;
470
470
471
471
private final ImageReader .OnImageAvailableListener onImageAvailableListener =
0 commit comments