@Override
    public String toString() {
        StringBuilder sb = new StringBuilder()
                .append("SizeConfigStrategy{groupedMap=")
                .append(groupedMap)
                .append(", sortedSizes=(");
        for (Map.Entry<Bitmap.Config, NavigableMap<Integer, Integer>> entry : sortedSizes.entrySet()) {
            sb.append(entry.getKey()).append('[').append(entry.getValue()).append("], ");
        }
        if (!sortedSizes.isEmpty()) {
            sb.replace(sb.length() - 2, sb.length(), "");
        }
        return sb.append(")}").toString();
    }
Keys {@link Bitmap Bitmaps} using both {@link Bitmap#getAllocationByteCount()} and
the {@link Bitmap.Config} returned from {@link Bitmap#getConfig()}.

<p>
    Using both the config and the byte size allows us to safely re-use a greater variety of
    {@link Bitmap Bitmaps}, which increases the hit rate of the pool and therefore the performance
    of applications. This class works around #301 by only allowing re-use of {@link Bitmap Bitmaps}
    with a matching number of bytes per pixel.
</p>
core/src/main/java/com/bumptech/glide/load/engine/bitmap_recycle/SizeConfigStrategy.java