Share via


View.SetWillNotCacheDrawing(Boolean) Method

Definition

When a View's drawing cache is enabled, drawing is redirected to an offscreen bitmap.

[Android.Runtime.Register("setWillNotCacheDrawing", "(Z)V", "GetSetWillNotCacheDrawing_ZHandler")]
public virtual void SetWillNotCacheDrawing (bool willNotCacheDrawing);
[<Android.Runtime.Register("setWillNotCacheDrawing", "(Z)V", "GetSetWillNotCacheDrawing_ZHandler")>]
abstract member SetWillNotCacheDrawing : bool -> unit
override this.SetWillNotCacheDrawing : bool -> unit

Parameters

willNotCacheDrawing
Boolean

true if this view does not cache its drawing, false otherwise

Attributes

Remarks

When a View's drawing cache is enabled, drawing is redirected to an offscreen bitmap. Some views, like an ImageView, must be able to bypass this mechanism if they already draw a single bitmap, to avoid unnecessary usage of the memory.

This member is deprecated. The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache layers are largely unnecessary and can easily result in a net loss in performance due to the cost of creating and updating the layer. In the rare cases where caching layers are useful, such as for alpha animations, #setLayerType(int, Paint) handles this with hardware rendering. For software-rendered snapshots of a small part of the View hierarchy or individual Views it is recommended to create a Canvas from either a Bitmap or android.graphics.Picture and call #draw(Canvas) on the View. However these software-rendered usages are discouraged and have compatibility issues with hardware-only rendering features such as android.graphics.Bitmap.Config#HARDWARE Config.HARDWARE bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback reports or unit testing the PixelCopy API is recommended.

Java documentation for android.view.View.setWillNotCacheDrawing(boolean).

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