Back to Fresco

DalvikPurgeableDecoder

docs/javadoc/reference/com/facebook/imagepipeline/nativecode/DalvikPurgeableDecoder.html

3.6.025.4 KB
Original Source

Fresco

|

|

Packages | Classes

Interfaces

Classes

Packages | Classes

Summary: Fields | Protected Ctors | Methods | Protected Methods | Inherited Methods | [Expand All]

public abstract class

DalvikPurgeableDecoder

extends Object
implements PlatformDecoder

| java.lang.Object | | ↳ | com.facebook.imagepipeline.nativecode.DalvikPurgeableDecoder |

| Known Direct Subclasses

GingerbreadPurgeableDecoder, KitKatPurgeableDecoder

| GingerbreadPurgeableDecoder | Bitmap decoder (Gingerbread to Jelly Bean). | | KitKatPurgeableDecoder | Bitmap Decoder implementation for KitKat

The MemoryFile trick used in GingerbreadPurgeableDecoder does not work in KitKat.

|

|

Class Overview

Base class for bitmap decodes for Dalvik VM (Gingerbread to KitKat).

Native code used by this class is shipped as part of libimagepipeline.so

Summary

Fields
protected static final byte[]
Protected Constructors
Public Methods
CloseableReference<Bitmap>
Creates a bitmap from encoded bytes.
CloseableReference<Bitmap>
Creates a bitmap from encoded bytes.
CloseableReference<Bitmap>
Creates a bitmap from encoded JPEG bytes.
CloseableReference<Bitmap>
Creates a bitmap from encoded JPEG bytes.
static boolean
static BitmapFactory.Options
CloseableReference<Bitmap>
Pin the bitmap so that it cannot be 'purged'.
Protected Methods
abstract Bitmap
Decodes a byteArray into a purgeable bitmap
abstract Bitmap
Decodes a byteArray containing jpeg encoded bytes into a purgeable bitmap

Adds a JFIF End-Of-Image marker if needed before decoding.

|

| [Expand] Inherited Methods | | --- | | From class java.lang.Object

| Object | clone() | | boolean | equals(Object arg0) | | void | finalize() | | final Class<?> | getClass() | | int | hashCode() | | final void | notify() | | final void | notifyAll() | | String | toString() | | final void | wait(long arg0, int arg1) | | final void | wait(long arg0) | | final void | wait() |

| | From interface com.facebook.imagepipeline.platform.PlatformDecoder

| abstract CloseableReference<Bitmap> | decodeFromEncodedImage(EncodedImage encodedImage, Bitmap.Config bitmapConfig, Rect regionToDecode) Creates a bitmap from encoded bytes. | | abstract CloseableReference<Bitmap> | decodeFromEncodedImageWithColorSpace(EncodedImage encodedImage, Bitmap.Config bitmapConfig, Rect regionToDecode, ColorSpace colorSpace) Creates a bitmap from encoded bytes. | | abstract CloseableReference<Bitmap> | decodeJPEGFromEncodedImage(EncodedImage encodedImage, Bitmap.Config bitmapConfig, Rect regionToDecode, int length) Creates a bitmap from encoded JPEG bytes. | | abstract CloseableReference<Bitmap> | decodeJPEGFromEncodedImageWithColorSpace(EncodedImage encodedImage, Bitmap.Config bitmapConfig, Rect regionToDecode, int length, ColorSpace colorSpace) Creates a bitmap from encoded JPEG bytes. |

|

Fields

protected static final byte[] EOI

Protected Constructors

protected DalvikPurgeableDecoder()

Public Methods

public CloseableReference<Bitmap> decodeFromEncodedImage(EncodedImage encodedImage, Bitmap.Config bitmapConfig, Rect regionToDecode)

Creates a bitmap from encoded bytes. Supports JPEG but callers should use decodeJPEGFromEncodedImage(EncodedImage, Bitmap.Config, Rect, int) for partial JPEGs. In addition, a region to decode can be supplied in order to minimize memory usage. NOTE: Not all platform decoders necessarily support supplying specific regions.

Note: This needs to be kept because of dependencies issues.

Parameters

| encodedImage | the reference to the encoded image with the reference to the encoded bytes | | bitmapConfig | the android.graphics.Bitmap.Config used to create the decoded Bitmap | | regionToDecode | optional image region to decode or null to decode the whole image |

Returns
  • the bitmap

public CloseableReference<Bitmap> decodeFromEncodedImageWithColorSpace(EncodedImage encodedImage, Bitmap.Config bitmapConfig, Rect regionToDecode, ColorSpace colorSpace)

Creates a bitmap from encoded bytes.

Parameters

| encodedImage | the encoded image with reference to the encoded bytes | | bitmapConfig | the android.graphics.Bitmap.Config used to create the decoded Bitmap | | regionToDecode | optional image region to decode. currently not supported. | | colorSpace | the target color space of the decoded bitmap, must be one of the named color space in android.graphics.ColorSpace.Named. If null, then SRGB color space is assumed if the SDK version >= 26. |

Returns
  • the bitmap
Throws

| TooManyBitmapsException | if the pool is full | | OutOfMemoryError | if the Bitmap cannot be allocated |

public CloseableReference<Bitmap> decodeJPEGFromEncodedImage(EncodedImage encodedImage, Bitmap.Config bitmapConfig, Rect regionToDecode, int length)

Creates a bitmap from encoded JPEG bytes. Supports a partial JPEG image. In addition, a region to decode can be supplied in order to minimize memory usage. NOTE: Not all platform decoders necessarily support supplying specific regions.

Note: This needs to be kept because of dependencies issues.

Parameters

| encodedImage | the reference to the encoded image with the reference to the encoded bytes | | bitmapConfig | the android.graphics.Bitmap.Config used to create the decoded Bitmap | | regionToDecode | optional image region to decode or null to decode the whole image. | | length | the number of encoded bytes in the buffer |

Returns
  • the bitmap

public CloseableReference<Bitmap> decodeJPEGFromEncodedImageWithColorSpace(EncodedImage encodedImage, Bitmap.Config bitmapConfig, Rect regionToDecode, int length, ColorSpace colorSpace)

Creates a bitmap from encoded JPEG bytes. Supports a partial JPEG image.

Parameters

| encodedImage | the encoded image with reference to the encoded bytes | | bitmapConfig | the android.graphics.Bitmap.Config used to create the decoded Bitmap | | regionToDecode | optional image region to decode. currently not supported. | | length | the number of encoded bytes in the buffer | | colorSpace | the target color space of the decoded bitmap, must be one of the named color space in android.graphics.ColorSpace.Named. If null, then SRGB color space is assumed if the SDK version >= 26. |

Returns
  • the bitmap
Throws

| TooManyBitmapsException | if the pool is full | | OutOfMemoryError | if the Bitmap cannot be allocated |

public static boolean endsWithEOI(CloseableReference<PooledByteBuffer> bytesRef, int length)

public static BitmapFactory.Options getBitmapFactoryOptions(int sampleSize, Bitmap.Config bitmapConfig)

public CloseableReference<Bitmap> pinBitmap(Bitmap bitmap)

Pin the bitmap so that it cannot be 'purged'. Only makes sense for purgeable bitmaps WARNING: Use with caution. Make sure that the pinned bitmap is recycled eventually. Otherwise, this will simply eat up ashmem memory and eventually lead to unfortunate crashes. We *may* eventually provide an unpin method - but we don't yet have a compelling use case for that.

Parameters

| bitmap | the purgeable bitmap to pin |

Protected Methods

protected abstract Bitmap decodeByteArrayAsPurgeable(CloseableReference<PooledByteBuffer> bytesRef, BitmapFactory.Options options)

Decodes a byteArray into a purgeable bitmap

Parameters

| bytesRef | the byte buffer that contains the encoded bytes | | options | the options passed to the BitmapFactory |

protected abstract Bitmap decodeJPEGByteArrayAsPurgeable(CloseableReference<PooledByteBuffer> bytesRef, int length, BitmapFactory.Options options)

Decodes a byteArray containing jpeg encoded bytes into a purgeable bitmap

Adds a JFIF End-Of-Image marker if needed before decoding.

Parameters

| bytesRef | the byte buffer that contains the encoded bytes | | length | the number of encoded bytes in the buffer | | options | the options passed to the BitmapFactory |

+Generated by Doclava. +