public interface

BitmapFrameCache

com.facebook.fresco.animation.bitmap.BitmapFrameCache
Known Indirect Subclasses

Class Overview

Bitmap frame cache that is used for animated images.

Summary

Nested Classes
interface BitmapFrameCache.FrameCacheListener  
Public Methods
abstract void clear()
Clear the cache.
abstract CloseableReference<Bitmap> getBitmapToReuseForFrame(int frameNumber, int width, int height)
Return a reusable bitmap that should be used to render the given frame.
abstract CloseableReference<Bitmap> getCachedFrame(int frameNumber)
Get the cached frame for the given frame number.
abstract CloseableReference<Bitmap> getFallbackFrame(int frameNumber)
Get a fallback frame for the given frame number.
abstract int getSizeInBytes()
abstract void onFrameRendered(int frameNumber, CloseableReference<Bitmap> bitmap, int frameType)
Callback when the given bitmap has been drawn to a canvas.
abstract void setFrameCacheListener(BitmapFrameCache.FrameCacheListener frameCacheListener)
Set a frame cache listener that gets notified about caching events.

Public Methods

public abstract void clear ()

Clear the cache.

public abstract CloseableReference<Bitmap> getBitmapToReuseForFrame (int frameNumber, int width, int height)

Return a reusable bitmap that should be used to render the given frame.

Parameters
frameNumber the frame number to be rendered
width the width of the target bitmap
height the height of the target bitmap
Returns
  • the reusable bitmap or null if no reusable bitmaps available

public abstract CloseableReference<Bitmap> getCachedFrame (int frameNumber)

Get the cached frame for the given frame number.

Parameters
frameNumber the frame number to get the cached frame for
Returns
  • the cached frame or null if not cached

public abstract CloseableReference<Bitmap> getFallbackFrame (int frameNumber)

Get a fallback frame for the given frame number. This method is called if all other attempts to draw a frame failed. The bitmap returned could for example be the last drawn frame (if any).

Parameters
frameNumber the frame number to get the fallback
Returns
  • the fallback frame or null if not cached

public abstract int getSizeInBytes ()

Returns
  • the size in bytes of all cached data

public abstract void onFrameRendered (int frameNumber, CloseableReference<Bitmap> bitmap, int frameType)

Callback when the given bitmap has been drawn to a canvas. This bitmap can either be a reused bitmap returned by getBitmapToReuseForFrame(int, int, int) or a new bitmap. Note: the implementation of this interface has to manually clone the given bitmap reference if it wants to hold on to the bitmap. The original reference will be automatically closed after this call.

Parameters
frameNumber the frame number that has been rendered
bitmap the bitmap that has been rendered
frameType the frame type that has been rendered

public abstract void setFrameCacheListener (BitmapFrameCache.FrameCacheListener frameCacheListener)

Set a frame cache listener that gets notified about caching events.

Parameters
frameCacheListener the listener to use