Home | History | Annotate | Download | only in bitmap_recycle
      1 package com.bumptech.glide.load.engine.bitmap_recycle;
      2 
      3 import com.bumptech.glide.util.Util;
      4 
      5 import java.util.Queue;
      6 
      7 abstract class BaseKeyPool<T extends Poolable> {
      8     private static final int MAX_SIZE = 20;
      9     private final Queue<T> keyPool = Util.createQueue(MAX_SIZE);
     10 
     11     protected T get() {
     12         T result = keyPool.poll();
     13         if (result == null) {
     14             result = create();
     15         }
     16         return result;
     17     }
     18 
     19     public void offer(T key) {
     20         if (keyPool.size() < MAX_SIZE) {
     21             keyPool.offer(key);
     22         }
     23     }
     24 
     25     protected abstract T create();
     26 }
     27