BitmapFactory.Options.InPurgeable Property

Definition

Caution

deprecated

This member is deprecated.

[Android.Runtime.Register("inPurgeable")]
[System.Obsolete("deprecated")]
public bool InPurgeable { get; set; }
[<Android.Runtime.Register("inPurgeable")>]
[<System.Obsolete("deprecated")>]
member this.InPurgeable : bool with get, set

Property Value

Attributes

Remarks

This member is deprecated. As of android.os.Build.VERSION_CODES#LOLLIPOP, this is ignored.

In android.os.Build.VERSION_CODES#KITKAT and below, if this is set to true, then the resulting bitmap will allocate its pixels such that they can be purged if the system needs to reclaim memory. In that instance, when the pixels need to be accessed again (e.g. the bitmap is drawn, getPixels() is called), they will be automatically re-decoded.

<p>For the re-decode to happen, the bitmap must have access to the encoded data, either by sharing a reference to the input or by making a copy of it. This distinction is controlled by inInputShareable. If this is true, then the bitmap may keep a shallow reference to the input. If this is false, then the bitmap will explicitly make a copy of the input data, and keep that. Even if sharing is allowed, the implementation may still decide to make a deep copy of the input data.</p>

<p>While inPurgeable can help avoid big Dalvik heap allocations (from API level 11 onward), it sacrifices performance predictability since any image that the view system tries to draw may incur a decode delay which can lead to dropped frames. Therefore, most apps should avoid using inPurgeable to allow for a fast and fluid UI. To minimize Dalvik heap allocations use the #inBitmap flag instead.</p>

<p class="note"><strong>Note:</strong> This flag is ignored when used with #decodeResource(Resources, int, android.graphics.BitmapFactory.Options) or #decodeFile(String, android.graphics.BitmapFactory.Options).</p>

Java documentation for android.graphics.BitmapFactory.Options.inPurgeable.

Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.

Applies to