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 ;
@@ -437,7 +437,7 @@ final class ImageReaderSurfaceProducer
437
437
438
438
private Object lock = new Object ();
439
439
// REQUIRED: The following fields must only be accessed when lock is held.
440
- private final LinkedList <PerImageReader > imageReaderQueue = new LinkedList <PerImageReader >();
440
+ private final ArrayDeque <PerImageReader > imageReaderQueue = new ArrayDeque <PerImageReader >();
441
441
private final HashMap <ImageReader , PerImageReader > perImageReaders =
442
442
new HashMap <ImageReader , PerImageReader >();
443
443
private PerImage lastDequeuedImage = null ;
@@ -457,7 +457,7 @@ public PerImage(Image image, long queuedTime) {
457
457
/** Internal class: state held per ImageReader. */
458
458
private class PerImageReader {
459
459
public final ImageReader reader ;
460
- private final LinkedList <PerImage > imageQueue = new LinkedList <PerImage >();
460
+ private final ArrayDeque <PerImage > imageQueue = new ArrayDeque <PerImage >();
461
461
private boolean closed = false ;
462
462
463
463
private final ImageReader .OnImageAvailableListener onImageAvailableListener =
0 commit comments