Interface GifDecoder.BitmapProvider

Enclosing interface:
GifDecoder

public static interface GifDecoder.BitmapProvider
An interface that can be used to provide reused Bitmaps to avoid GCs from constantly allocating Bitmaps for every frame.
  • Method Summary

    Modifier and Type
    Method
    Description
    obtain(int width, int height, Bitmap.Config config)
    Returns an Bitmap with exactly the given dimensions and config.
    byte[]
    obtainByteArray(int size)
    Returns a byte array used for decoding and generating the frame bitmap.
    int[]
    obtainIntArray(int size)
    Returns an int array used for decoding/generating the frame bitmaps.
    void
    release(byte[] bytes)
    Releases the given byte array back to the pool.
    void
    release(int[] array)
    Release the given array back to the pool.
    void
    release(Bitmap bitmap)
    Releases the given Bitmap back to the pool.
  • Method Details

    • obtain

      @NonNull Bitmap obtain(int width, int height, @NonNull Bitmap.Config config)
      Returns an Bitmap with exactly the given dimensions and config.
      Parameters:
      width - The width in pixels of the desired Bitmap.
      height - The height in pixels of the desired Bitmap.
      config - The Bitmap.Config of the desired Bitmap.
    • release

      void release(@NonNull Bitmap bitmap)
      Releases the given Bitmap back to the pool.
    • obtainByteArray

      @NonNull byte[] obtainByteArray(int size)
      Returns a byte array used for decoding and generating the frame bitmap.
      Parameters:
      size - the size of the byte array to obtain
    • release

      void release(@NonNull byte[] bytes)
      Releases the given byte array back to the pool.
    • obtainIntArray

      @NonNull int[] obtainIntArray(int size)
      Returns an int array used for decoding/generating the frame bitmaps.
    • release

      void release(@NonNull int[] array)
      Release the given array back to the pool.