Merge "Deprecate view drawing cache"
diff --git a/api/current.txt b/api/current.txt
index 9bbdee1..7b5612f 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -45745,8 +45745,8 @@
method protected boolean awakenScrollBars(int);
method protected boolean awakenScrollBars(int, boolean);
method public void bringToFront();
- method public void buildDrawingCache();
- method public void buildDrawingCache(boolean);
+ method public deprecated void buildDrawingCache();
+ method public deprecated void buildDrawingCache(boolean);
method public void buildLayer();
method public boolean callOnClick();
method public boolean canResolveLayoutDirection();
@@ -45771,7 +45771,7 @@
method protected int computeVerticalScrollRange();
method public android.view.accessibility.AccessibilityNodeInfo createAccessibilityNodeInfo();
method public void createContextMenu(android.view.ContextMenu);
- method public void destroyDrawingCache();
+ method public deprecated void destroyDrawingCache();
method public android.view.WindowInsets dispatchApplyWindowInsets(android.view.WindowInsets);
method public boolean dispatchCapturedPointerEvent(android.view.MotionEvent);
method public void dispatchConfigurationChanged(android.content.res.Configuration);
@@ -45852,10 +45852,10 @@
method public static int getDefaultSize(int, int);
method public android.view.Display getDisplay();
method public final int[] getDrawableState();
- method public android.graphics.Bitmap getDrawingCache();
- method public android.graphics.Bitmap getDrawingCache(boolean);
- method public int getDrawingCacheBackgroundColor();
- method public int getDrawingCacheQuality();
+ method public deprecated android.graphics.Bitmap getDrawingCache();
+ method public deprecated android.graphics.Bitmap getDrawingCache(boolean);
+ method public deprecated int getDrawingCacheBackgroundColor();
+ method public deprecated int getDrawingCacheQuality();
method public void getDrawingRect(android.graphics.Rect);
method public long getDrawingTime();
method public float getElevation();
@@ -45994,7 +45994,7 @@
method public boolean isClickable();
method public boolean isContextClickable();
method public boolean isDirty();
- method public boolean isDrawingCacheEnabled();
+ method public deprecated boolean isDrawingCacheEnabled();
method public boolean isDuplicateParentStateEnabled();
method public boolean isEnabled();
method public final boolean isFocusable();
@@ -46165,9 +46165,9 @@
method public void setContentDescription(java.lang.CharSequence);
method public void setContextClickable(boolean);
method public void setDefaultFocusHighlightEnabled(boolean);
- method public void setDrawingCacheBackgroundColor(int);
- method public void setDrawingCacheEnabled(boolean);
- method public void setDrawingCacheQuality(int);
+ method public deprecated void setDrawingCacheBackgroundColor(int);
+ method public deprecated void setDrawingCacheEnabled(boolean);
+ method public deprecated void setDrawingCacheQuality(int);
method public void setDuplicateParentStateEnabled(boolean);
method public void setElevation(float);
method public void setEnabled(boolean);
@@ -46318,9 +46318,9 @@
field public static final int DRAG_FLAG_GLOBAL_URI_READ = 1; // 0x1
field public static final int DRAG_FLAG_GLOBAL_URI_WRITE = 2; // 0x2
field public static final int DRAG_FLAG_OPAQUE = 512; // 0x200
- field public static final int DRAWING_CACHE_QUALITY_AUTO = 0; // 0x0
- field public static final int DRAWING_CACHE_QUALITY_HIGH = 1048576; // 0x100000
- field public static final int DRAWING_CACHE_QUALITY_LOW = 524288; // 0x80000
+ field public static final deprecated int DRAWING_CACHE_QUALITY_AUTO = 0; // 0x0
+ field public static final deprecated int DRAWING_CACHE_QUALITY_HIGH = 1048576; // 0x100000
+ field public static final deprecated int DRAWING_CACHE_QUALITY_LOW = 524288; // 0x80000
field protected static final int[] EMPTY_STATE_SET;
field protected static final int[] ENABLED_FOCUSED_SELECTED_STATE_SET;
field protected static final int[] ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET;
@@ -46712,7 +46712,7 @@
method public android.animation.LayoutTransition getLayoutTransition();
method public int getNestedScrollAxes();
method public android.view.ViewGroupOverlay getOverlay();
- method public int getPersistentDrawingCache();
+ method public deprecated int getPersistentDrawingCache();
method public boolean getTouchscreenBlocksFocus();
method public int indexOfChild(android.view.View);
method public final deprecated void invalidateChild(android.view.View, android.graphics.Rect);
@@ -46765,7 +46765,7 @@
method public void setAddStatesFromChildren(boolean);
method public deprecated void setAlwaysDrawnWithCacheEnabled(boolean);
method public deprecated void setAnimationCacheEnabled(boolean);
- method protected void setChildrenDrawingCacheEnabled(boolean);
+ method protected deprecated void setChildrenDrawingCacheEnabled(boolean);
method protected void setChildrenDrawingOrderEnabled(boolean);
method protected deprecated void setChildrenDrawnWithCacheEnabled(boolean);
method public void setClipChildren(boolean);
@@ -46777,7 +46777,7 @@
method public void setLayoutTransition(android.animation.LayoutTransition);
method public void setMotionEventSplittingEnabled(boolean);
method public void setOnHierarchyChangeListener(android.view.ViewGroup.OnHierarchyChangeListener);
- method public void setPersistentDrawingCache(int);
+ method public deprecated void setPersistentDrawingCache(int);
method protected void setStaticTransformationsEnabled(boolean);
method public void setTouchscreenBlocksFocus(boolean);
method public void setTransitionGroup(boolean);
@@ -46795,10 +46795,10 @@
field public static final int FOCUS_BLOCK_DESCENDANTS = 393216; // 0x60000
field public static final int LAYOUT_MODE_CLIP_BOUNDS = 0; // 0x0
field public static final int LAYOUT_MODE_OPTICAL_BOUNDS = 1; // 0x1
- field public static final int PERSISTENT_ALL_CACHES = 3; // 0x3
- field public static final int PERSISTENT_ANIMATION_CACHE = 1; // 0x1
- field public static final int PERSISTENT_NO_CACHE = 0; // 0x0
- field public static final int PERSISTENT_SCROLLING_CACHE = 2; // 0x2
+ field public static final deprecated int PERSISTENT_ALL_CACHES = 3; // 0x3
+ field public static final deprecated int PERSISTENT_ANIMATION_CACHE = 1; // 0x1
+ field public static final deprecated int PERSISTENT_NO_CACHE = 0; // 0x0
+ field public static final deprecated int PERSISTENT_SCROLLING_CACHE = 2; // 0x2
}
public static class ViewGroup.LayoutParams {
diff --git a/api/system-current.txt b/api/system-current.txt
index 9e02b03..a2863ee 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -49470,8 +49470,8 @@
method protected boolean awakenScrollBars(int);
method protected boolean awakenScrollBars(int, boolean);
method public void bringToFront();
- method public void buildDrawingCache();
- method public void buildDrawingCache(boolean);
+ method public deprecated void buildDrawingCache();
+ method public deprecated void buildDrawingCache(boolean);
method public void buildLayer();
method public boolean callOnClick();
method public boolean canResolveLayoutDirection();
@@ -49496,7 +49496,7 @@
method protected int computeVerticalScrollRange();
method public android.view.accessibility.AccessibilityNodeInfo createAccessibilityNodeInfo();
method public void createContextMenu(android.view.ContextMenu);
- method public void destroyDrawingCache();
+ method public deprecated void destroyDrawingCache();
method public android.view.WindowInsets dispatchApplyWindowInsets(android.view.WindowInsets);
method public boolean dispatchCapturedPointerEvent(android.view.MotionEvent);
method public void dispatchConfigurationChanged(android.content.res.Configuration);
@@ -49577,10 +49577,10 @@
method public static int getDefaultSize(int, int);
method public android.view.Display getDisplay();
method public final int[] getDrawableState();
- method public android.graphics.Bitmap getDrawingCache();
- method public android.graphics.Bitmap getDrawingCache(boolean);
- method public int getDrawingCacheBackgroundColor();
- method public int getDrawingCacheQuality();
+ method public deprecated android.graphics.Bitmap getDrawingCache();
+ method public deprecated android.graphics.Bitmap getDrawingCache(boolean);
+ method public deprecated int getDrawingCacheBackgroundColor();
+ method public deprecated int getDrawingCacheQuality();
method public void getDrawingRect(android.graphics.Rect);
method public long getDrawingTime();
method public float getElevation();
@@ -49719,7 +49719,7 @@
method public boolean isClickable();
method public boolean isContextClickable();
method public boolean isDirty();
- method public boolean isDrawingCacheEnabled();
+ method public deprecated boolean isDrawingCacheEnabled();
method public boolean isDuplicateParentStateEnabled();
method public boolean isEnabled();
method public final boolean isFocusable();
@@ -49890,9 +49890,9 @@
method public void setContentDescription(java.lang.CharSequence);
method public void setContextClickable(boolean);
method public void setDefaultFocusHighlightEnabled(boolean);
- method public void setDrawingCacheBackgroundColor(int);
- method public void setDrawingCacheEnabled(boolean);
- method public void setDrawingCacheQuality(int);
+ method public deprecated void setDrawingCacheBackgroundColor(int);
+ method public deprecated void setDrawingCacheEnabled(boolean);
+ method public deprecated void setDrawingCacheQuality(int);
method public void setDuplicateParentStateEnabled(boolean);
method public void setElevation(float);
method public void setEnabled(boolean);
@@ -50043,9 +50043,9 @@
field public static final int DRAG_FLAG_GLOBAL_URI_READ = 1; // 0x1
field public static final int DRAG_FLAG_GLOBAL_URI_WRITE = 2; // 0x2
field public static final int DRAG_FLAG_OPAQUE = 512; // 0x200
- field public static final int DRAWING_CACHE_QUALITY_AUTO = 0; // 0x0
- field public static final int DRAWING_CACHE_QUALITY_HIGH = 1048576; // 0x100000
- field public static final int DRAWING_CACHE_QUALITY_LOW = 524288; // 0x80000
+ field public static final deprecated int DRAWING_CACHE_QUALITY_AUTO = 0; // 0x0
+ field public static final deprecated int DRAWING_CACHE_QUALITY_HIGH = 1048576; // 0x100000
+ field public static final deprecated int DRAWING_CACHE_QUALITY_LOW = 524288; // 0x80000
field protected static final int[] EMPTY_STATE_SET;
field protected static final int[] ENABLED_FOCUSED_SELECTED_STATE_SET;
field protected static final int[] ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET;
@@ -50437,7 +50437,7 @@
method public android.animation.LayoutTransition getLayoutTransition();
method public int getNestedScrollAxes();
method public android.view.ViewGroupOverlay getOverlay();
- method public int getPersistentDrawingCache();
+ method public deprecated int getPersistentDrawingCache();
method public boolean getTouchscreenBlocksFocus();
method public int indexOfChild(android.view.View);
method public final deprecated void invalidateChild(android.view.View, android.graphics.Rect);
@@ -50490,7 +50490,7 @@
method public void setAddStatesFromChildren(boolean);
method public deprecated void setAlwaysDrawnWithCacheEnabled(boolean);
method public deprecated void setAnimationCacheEnabled(boolean);
- method protected void setChildrenDrawingCacheEnabled(boolean);
+ method protected deprecated void setChildrenDrawingCacheEnabled(boolean);
method protected void setChildrenDrawingOrderEnabled(boolean);
method protected deprecated void setChildrenDrawnWithCacheEnabled(boolean);
method public void setClipChildren(boolean);
@@ -50502,7 +50502,7 @@
method public void setLayoutTransition(android.animation.LayoutTransition);
method public void setMotionEventSplittingEnabled(boolean);
method public void setOnHierarchyChangeListener(android.view.ViewGroup.OnHierarchyChangeListener);
- method public void setPersistentDrawingCache(int);
+ method public deprecated void setPersistentDrawingCache(int);
method protected void setStaticTransformationsEnabled(boolean);
method public void setTouchscreenBlocksFocus(boolean);
method public void setTransitionGroup(boolean);
@@ -50520,10 +50520,10 @@
field public static final int FOCUS_BLOCK_DESCENDANTS = 393216; // 0x60000
field public static final int LAYOUT_MODE_CLIP_BOUNDS = 0; // 0x0
field public static final int LAYOUT_MODE_OPTICAL_BOUNDS = 1; // 0x1
- field public static final int PERSISTENT_ALL_CACHES = 3; // 0x3
- field public static final int PERSISTENT_ANIMATION_CACHE = 1; // 0x1
- field public static final int PERSISTENT_NO_CACHE = 0; // 0x0
- field public static final int PERSISTENT_SCROLLING_CACHE = 2; // 0x2
+ field public static final deprecated int PERSISTENT_ALL_CACHES = 3; // 0x3
+ field public static final deprecated int PERSISTENT_ANIMATION_CACHE = 1; // 0x1
+ field public static final deprecated int PERSISTENT_NO_CACHE = 0; // 0x0
+ field public static final deprecated int PERSISTENT_SCROLLING_CACHE = 2; // 0x2
}
public static class ViewGroup.LayoutParams {
diff --git a/api/test-current.txt b/api/test-current.txt
index fe861e1..834cb36 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -46315,8 +46315,8 @@
method protected boolean awakenScrollBars(int);
method protected boolean awakenScrollBars(int, boolean);
method public void bringToFront();
- method public void buildDrawingCache();
- method public void buildDrawingCache(boolean);
+ method public deprecated void buildDrawingCache();
+ method public deprecated void buildDrawingCache(boolean);
method public void buildLayer();
method public boolean callOnClick();
method public boolean canResolveLayoutDirection();
@@ -46341,7 +46341,7 @@
method protected int computeVerticalScrollRange();
method public android.view.accessibility.AccessibilityNodeInfo createAccessibilityNodeInfo();
method public void createContextMenu(android.view.ContextMenu);
- method public void destroyDrawingCache();
+ method public deprecated void destroyDrawingCache();
method public android.view.WindowInsets dispatchApplyWindowInsets(android.view.WindowInsets);
method public boolean dispatchCapturedPointerEvent(android.view.MotionEvent);
method public void dispatchConfigurationChanged(android.content.res.Configuration);
@@ -46422,10 +46422,10 @@
method public static int getDefaultSize(int, int);
method public android.view.Display getDisplay();
method public final int[] getDrawableState();
- method public android.graphics.Bitmap getDrawingCache();
- method public android.graphics.Bitmap getDrawingCache(boolean);
- method public int getDrawingCacheBackgroundColor();
- method public int getDrawingCacheQuality();
+ method public deprecated android.graphics.Bitmap getDrawingCache();
+ method public deprecated android.graphics.Bitmap getDrawingCache(boolean);
+ method public deprecated int getDrawingCacheBackgroundColor();
+ method public deprecated int getDrawingCacheQuality();
method public void getDrawingRect(android.graphics.Rect);
method public long getDrawingTime();
method public float getElevation();
@@ -46566,7 +46566,7 @@
method public boolean isContextClickable();
method public boolean isDefaultFocusHighlightNeeded(android.graphics.drawable.Drawable, android.graphics.drawable.Drawable);
method public boolean isDirty();
- method public boolean isDrawingCacheEnabled();
+ method public deprecated boolean isDrawingCacheEnabled();
method public boolean isDuplicateParentStateEnabled();
method public boolean isEnabled();
method public final boolean isFocusable();
@@ -46740,9 +46740,9 @@
method public void setContentDescription(java.lang.CharSequence);
method public void setContextClickable(boolean);
method public void setDefaultFocusHighlightEnabled(boolean);
- method public void setDrawingCacheBackgroundColor(int);
- method public void setDrawingCacheEnabled(boolean);
- method public void setDrawingCacheQuality(int);
+ method public deprecated void setDrawingCacheBackgroundColor(int);
+ method public deprecated void setDrawingCacheEnabled(boolean);
+ method public deprecated void setDrawingCacheQuality(int);
method public void setDuplicateParentStateEnabled(boolean);
method public void setElevation(float);
method public void setEnabled(boolean);
@@ -46894,9 +46894,9 @@
field public static final int DRAG_FLAG_GLOBAL_URI_READ = 1; // 0x1
field public static final int DRAG_FLAG_GLOBAL_URI_WRITE = 2; // 0x2
field public static final int DRAG_FLAG_OPAQUE = 512; // 0x200
- field public static final int DRAWING_CACHE_QUALITY_AUTO = 0; // 0x0
- field public static final int DRAWING_CACHE_QUALITY_HIGH = 1048576; // 0x100000
- field public static final int DRAWING_CACHE_QUALITY_LOW = 524288; // 0x80000
+ field public static final deprecated int DRAWING_CACHE_QUALITY_AUTO = 0; // 0x0
+ field public static final deprecated int DRAWING_CACHE_QUALITY_HIGH = 1048576; // 0x100000
+ field public static final deprecated int DRAWING_CACHE_QUALITY_LOW = 524288; // 0x80000
field protected static final int[] EMPTY_STATE_SET;
field protected static final int[] ENABLED_FOCUSED_SELECTED_STATE_SET;
field protected static final int[] ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET;
@@ -47292,7 +47292,7 @@
method public android.animation.LayoutTransition getLayoutTransition();
method public int getNestedScrollAxes();
method public android.view.ViewGroupOverlay getOverlay();
- method public int getPersistentDrawingCache();
+ method public deprecated int getPersistentDrawingCache();
method public boolean getTouchscreenBlocksFocus();
method public int indexOfChild(android.view.View);
method public final deprecated void invalidateChild(android.view.View, android.graphics.Rect);
@@ -47345,7 +47345,7 @@
method public void setAddStatesFromChildren(boolean);
method public deprecated void setAlwaysDrawnWithCacheEnabled(boolean);
method public deprecated void setAnimationCacheEnabled(boolean);
- method protected void setChildrenDrawingCacheEnabled(boolean);
+ method protected deprecated void setChildrenDrawingCacheEnabled(boolean);
method protected void setChildrenDrawingOrderEnabled(boolean);
method protected deprecated void setChildrenDrawnWithCacheEnabled(boolean);
method public void setClipChildren(boolean);
@@ -47357,7 +47357,7 @@
method public void setLayoutTransition(android.animation.LayoutTransition);
method public void setMotionEventSplittingEnabled(boolean);
method public void setOnHierarchyChangeListener(android.view.ViewGroup.OnHierarchyChangeListener);
- method public void setPersistentDrawingCache(int);
+ method public deprecated void setPersistentDrawingCache(int);
method protected void setStaticTransformationsEnabled(boolean);
method public void setTouchscreenBlocksFocus(boolean);
method public void setTransitionGroup(boolean);
@@ -47375,10 +47375,10 @@
field public static final int FOCUS_BLOCK_DESCENDANTS = 393216; // 0x60000
field public static final int LAYOUT_MODE_CLIP_BOUNDS = 0; // 0x0
field public static final int LAYOUT_MODE_OPTICAL_BOUNDS = 1; // 0x1
- field public static final int PERSISTENT_ALL_CACHES = 3; // 0x3
- field public static final int PERSISTENT_ANIMATION_CACHE = 1; // 0x1
- field public static final int PERSISTENT_NO_CACHE = 0; // 0x0
- field public static final int PERSISTENT_SCROLLING_CACHE = 2; // 0x2
+ field public static final deprecated int PERSISTENT_ALL_CACHES = 3; // 0x3
+ field public static final deprecated int PERSISTENT_ANIMATION_CACHE = 1; // 0x1
+ field public static final deprecated int PERSISTENT_NO_CACHE = 0; // 0x0
+ field public static final deprecated int PERSISTENT_SCROLLING_CACHE = 2; // 0x2
}
public static class ViewGroup.LayoutParams {
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index b6be296..0d1258d 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -1448,17 +1448,59 @@
/**
* <p>Enables low quality mode for the drawing cache.</p>
+ *
+ * @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, {@link #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 {@link Canvas} from either a {@link Bitmap} or
+ * {@link android.graphics.Picture} and call {@link #draw(Canvas)} on the View. However these
+ * software-rendered usages are discouraged and have compatibility issues with hardware-only
+ * rendering features such as {@link 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 {@link PixelCopy} API is recommended.
*/
+ @Deprecated
public static final int DRAWING_CACHE_QUALITY_LOW = 0x00080000;
/**
* <p>Enables high quality mode for the drawing cache.</p>
+ *
+ * @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, {@link #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 {@link Canvas} from either a {@link Bitmap} or
+ * {@link android.graphics.Picture} and call {@link #draw(Canvas)} on the View. However these
+ * software-rendered usages are discouraged and have compatibility issues with hardware-only
+ * rendering features such as {@link 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 {@link PixelCopy} API is recommended.
*/
+ @Deprecated
public static final int DRAWING_CACHE_QUALITY_HIGH = 0x00100000;
/**
* <p>Enables automatic quality mode for the drawing cache.</p>
+ *
+ * @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, {@link #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 {@link Canvas} from either a {@link Bitmap} or
+ * {@link android.graphics.Picture} and call {@link #draw(Canvas)} on the View. However these
+ * software-rendered usages are discouraged and have compatibility issues with hardware-only
+ * rendering features such as {@link 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 {@link PixelCopy} API is recommended.
*/
+ @Deprecated
public static final int DRAWING_CACHE_QUALITY_AUTO = 0x00000000;
private static final int[] DRAWING_CACHE_QUALITY_FLAGS = {
@@ -8907,7 +8949,21 @@
* @see #isDrawingCacheEnabled()
*
* @attr ref android.R.styleable#View_drawingCacheQuality
+ *
+ * @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, {@link #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 {@link Canvas} from either a {@link Bitmap} or
+ * {@link android.graphics.Picture} and call {@link #draw(Canvas)} on the View. However these
+ * software-rendered usages are discouraged and have compatibility issues with hardware-only
+ * rendering features such as {@link 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 {@link PixelCopy} API is recommended.
*/
+ @Deprecated
@DrawingCacheQuality
public int getDrawingCacheQuality() {
return mViewFlags & DRAWING_CACHE_QUALITY_MASK;
@@ -8925,7 +8981,21 @@
* @see #isDrawingCacheEnabled()
*
* @attr ref android.R.styleable#View_drawingCacheQuality
+ *
+ * @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, {@link #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 {@link Canvas} from either a {@link Bitmap} or
+ * {@link android.graphics.Picture} and call {@link #draw(Canvas)} on the View. However these
+ * software-rendered usages are discouraged and have compatibility issues with hardware-only
+ * rendering features such as {@link 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 {@link PixelCopy} API is recommended.
*/
+ @Deprecated
public void setDrawingCacheQuality(@DrawingCacheQuality int quality) {
setFlags(quality, DRAWING_CACHE_QUALITY_MASK);
}
@@ -18103,7 +18173,21 @@
* @see #getDrawingCache()
* @see #buildDrawingCache()
* @see #setLayerType(int, android.graphics.Paint)
+ *
+ * @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, {@link #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 {@link Canvas} from either a {@link Bitmap} or
+ * {@link android.graphics.Picture} and call {@link #draw(Canvas)} on the View. However these
+ * software-rendered usages are discouraged and have compatibility issues with hardware-only
+ * rendering features such as {@link 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 {@link PixelCopy} API is recommended.
*/
+ @Deprecated
public void setDrawingCacheEnabled(boolean enabled) {
mCachingFailed = false;
setFlags(enabled ? DRAWING_CACHE_ENABLED : 0, DRAWING_CACHE_ENABLED);
@@ -18116,7 +18200,21 @@
*
* @see #setDrawingCacheEnabled(boolean)
* @see #getDrawingCache()
+ *
+ * @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, {@link #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 {@link Canvas} from either a {@link Bitmap} or
+ * {@link android.graphics.Picture} and call {@link #draw(Canvas)} on the View. However these
+ * software-rendered usages are discouraged and have compatibility issues with hardware-only
+ * rendering features such as {@link 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 {@link PixelCopy} API is recommended.
*/
+ @Deprecated
@ViewDebug.ExportedProperty(category = "drawing")
public boolean isDrawingCacheEnabled() {
return (mViewFlags & DRAWING_CACHE_ENABLED) == DRAWING_CACHE_ENABLED;
@@ -18257,7 +18355,21 @@
* @return A non-scaled bitmap representing this view or null if cache is disabled.
*
* @see #getDrawingCache(boolean)
+ *
+ * @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, {@link #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 {@link Canvas} from either a {@link Bitmap} or
+ * {@link android.graphics.Picture} and call {@link #draw(Canvas)} on the View. However these
+ * software-rendered usages are discouraged and have compatibility issues with hardware-only
+ * rendering features such as {@link 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 {@link PixelCopy} API is recommended.
*/
+ @Deprecated
public Bitmap getDrawingCache() {
return getDrawingCache(false);
}
@@ -18288,7 +18400,21 @@
* @see #isDrawingCacheEnabled()
* @see #buildDrawingCache(boolean)
* @see #destroyDrawingCache()
+ *
+ * @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, {@link #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 {@link Canvas} from either a {@link Bitmap} or
+ * {@link android.graphics.Picture} and call {@link #draw(Canvas)} on the View. However these
+ * software-rendered usages are discouraged and have compatibility issues with hardware-only
+ * rendering features such as {@link 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 {@link PixelCopy} API is recommended.
*/
+ @Deprecated
public Bitmap getDrawingCache(boolean autoScale) {
if ((mViewFlags & WILL_NOT_CACHE_DRAWING) == WILL_NOT_CACHE_DRAWING) {
return null;
@@ -18308,7 +18434,21 @@
* @see #setDrawingCacheEnabled(boolean)
* @see #buildDrawingCache()
* @see #getDrawingCache()
+ *
+ * @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, {@link #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 {@link Canvas} from either a {@link Bitmap} or
+ * {@link android.graphics.Picture} and call {@link #draw(Canvas)} on the View. However these
+ * software-rendered usages are discouraged and have compatibility issues with hardware-only
+ * rendering features such as {@link 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 {@link PixelCopy} API is recommended.
*/
+ @Deprecated
public void destroyDrawingCache() {
if (mDrawingCache != null) {
mDrawingCache.recycle();
@@ -18330,7 +18470,21 @@
* @see #setDrawingCacheEnabled(boolean)
* @see #buildDrawingCache()
* @see #getDrawingCache()
+ *
+ * @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, {@link #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 {@link Canvas} from either a {@link Bitmap} or
+ * {@link android.graphics.Picture} and call {@link #draw(Canvas)} on the View. However these
+ * software-rendered usages are discouraged and have compatibility issues with hardware-only
+ * rendering features such as {@link 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 {@link PixelCopy} API is recommended.
*/
+ @Deprecated
public void setDrawingCacheBackgroundColor(@ColorInt int color) {
if (color != mDrawingCacheBackgroundColor) {
mDrawingCacheBackgroundColor = color;
@@ -18342,7 +18496,21 @@
* @see #setDrawingCacheBackgroundColor(int)
*
* @return The background color to used for the drawing cache's bitmap
+ *
+ * @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, {@link #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 {@link Canvas} from either a {@link Bitmap} or
+ * {@link android.graphics.Picture} and call {@link #draw(Canvas)} on the View. However these
+ * software-rendered usages are discouraged and have compatibility issues with hardware-only
+ * rendering features such as {@link 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 {@link PixelCopy} API is recommended.
*/
+ @Deprecated
@ColorInt
public int getDrawingCacheBackgroundColor() {
return mDrawingCacheBackgroundColor;
@@ -18352,7 +18520,21 @@
* <p>Calling this method is equivalent to calling <code>buildDrawingCache(false)</code>.</p>
*
* @see #buildDrawingCache(boolean)
+ *
+ * @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, {@link #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 {@link Canvas} from either a {@link Bitmap} or
+ * {@link android.graphics.Picture} and call {@link #draw(Canvas)} on the View. However these
+ * software-rendered usages are discouraged and have compatibility issues with hardware-only
+ * rendering features such as {@link 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 {@link PixelCopy} API is recommended.
*/
+ @Deprecated
public void buildDrawingCache() {
buildDrawingCache(false);
}
@@ -18379,7 +18561,21 @@
*
* @see #getDrawingCache()
* @see #destroyDrawingCache()
+ *
+ * @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, {@link #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 {@link Canvas} from either a {@link Bitmap} or
+ * {@link android.graphics.Picture} and call {@link #draw(Canvas)} on the View. However these
+ * software-rendered usages are discouraged and have compatibility issues with hardware-only
+ * rendering features such as {@link 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 {@link PixelCopy} API is recommended.
*/
+ @Deprecated
public void buildDrawingCache(boolean autoScale) {
if ((mPrivateFlags & PFLAG_DRAWING_CACHE_VALID) == 0 || (autoScale ?
mDrawingCache == null : mUnscaledDrawingCache == null)) {
diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java
index b2e5a16..929beae 100644
--- a/core/java/android/view/ViewGroup.java
+++ b/core/java/android/view/ViewGroup.java
@@ -421,22 +421,78 @@
/**
* Used to indicate that no drawing cache should be kept in memory.
+ *
+ * @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, {@link #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 {@link Canvas} from either a {@link Bitmap} or
+ * {@link android.graphics.Picture} and call {@link #draw(Canvas)} on the View. However these
+ * software-rendered usages are discouraged and have compatibility issues with hardware-only
+ * rendering features such as {@link 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 {@link PixelCopy} API is recommended.
*/
+ @Deprecated
public static final int PERSISTENT_NO_CACHE = 0x0;
/**
* Used to indicate that the animation drawing cache should be kept in memory.
+ *
+ * @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, {@link #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 {@link Canvas} from either a {@link Bitmap} or
+ * {@link android.graphics.Picture} and call {@link #draw(Canvas)} on the View. However these
+ * software-rendered usages are discouraged and have compatibility issues with hardware-only
+ * rendering features such as {@link 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 {@link PixelCopy} API is recommended.
*/
+ @Deprecated
public static final int PERSISTENT_ANIMATION_CACHE = 0x1;
/**
* Used to indicate that the scrolling drawing cache should be kept in memory.
+ *
+ * @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, {@link #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 {@link Canvas} from either a {@link Bitmap} or
+ * {@link android.graphics.Picture} and call {@link #draw(Canvas)} on the View. However these
+ * software-rendered usages are discouraged and have compatibility issues with hardware-only
+ * rendering features such as {@link 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 {@link PixelCopy} API is recommended.
*/
+ @Deprecated
public static final int PERSISTENT_SCROLLING_CACHE = 0x2;
/**
* Used to indicate that all drawing caches should be kept in memory.
+ *
+ * @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, {@link #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 {@link Canvas} from either a {@link Bitmap} or
+ * {@link android.graphics.Picture} and call {@link #draw(Canvas)} on the View. However these
+ * software-rendered usages are discouraged and have compatibility issues with hardware-only
+ * rendering features such as {@link 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 {@link PixelCopy} API is recommended.
*/
+ @Deprecated
public static final int PERSISTENT_ALL_CACHES = 0x3;
// Layout Modes
@@ -3769,7 +3825,21 @@
* Enables or disables the drawing cache for each child of this view group.
*
* @param enabled true to enable the cache, false to dispose of it
+ *
+ * @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, {@link #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 {@link Canvas} from either a {@link Bitmap} or
+ * {@link android.graphics.Picture} and call {@link #draw(Canvas)} on the View. However these
+ * software-rendered usages are discouraged and have compatibility issues with hardware-only
+ * rendering features such as {@link 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 {@link PixelCopy} API is recommended.
*/
+ @Deprecated
protected void setChildrenDrawingCacheEnabled(boolean enabled) {
if (enabled || (mPersistentDrawingCache & PERSISTENT_ALL_CACHES) != PERSISTENT_ALL_CACHES) {
final View[] children = mChildren;
@@ -6331,7 +6401,21 @@
* @return one or a combination of {@link #PERSISTENT_NO_CACHE},
* {@link #PERSISTENT_ANIMATION_CACHE}, {@link #PERSISTENT_SCROLLING_CACHE}
* and {@link #PERSISTENT_ALL_CACHES}
+ *
+ * @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, {@link #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 {@link Canvas} from either a {@link Bitmap} or
+ * {@link android.graphics.Picture} and call {@link #draw(Canvas)} on the View. However these
+ * software-rendered usages are discouraged and have compatibility issues with hardware-only
+ * rendering features such as {@link 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 {@link PixelCopy} API is recommended.
*/
+ @Deprecated
@ViewDebug.ExportedProperty(category = "drawing", mapping = {
@ViewDebug.IntToString(from = PERSISTENT_NO_CACHE, to = "NONE"),
@ViewDebug.IntToString(from = PERSISTENT_ANIMATION_CACHE, to = "ANIMATION"),
@@ -6352,7 +6436,21 @@
* @param drawingCacheToKeep one or a combination of {@link #PERSISTENT_NO_CACHE},
* {@link #PERSISTENT_ANIMATION_CACHE}, {@link #PERSISTENT_SCROLLING_CACHE}
* and {@link #PERSISTENT_ALL_CACHES}
+ *
+ * @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, {@link #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 {@link Canvas} from either a {@link Bitmap} or
+ * {@link android.graphics.Picture} and call {@link #draw(Canvas)} on the View. However these
+ * software-rendered usages are discouraged and have compatibility issues with hardware-only
+ * rendering features such as {@link 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 {@link PixelCopy} API is recommended.
*/
+ @Deprecated
public void setPersistentDrawingCache(int drawingCacheToKeep) {
mPersistentDrawingCache = drawingCacheToKeep & PERSISTENT_ALL_CACHES;
}
diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml
index 11cdb76..4b9839f 100644
--- a/core/res/res/values/attrs.xml
+++ b/core/res/res/values/attrs.xml
@@ -2546,16 +2546,24 @@
<attr name="filterTouchesWhenObscured" format="boolean" />
<!-- Defines the quality of translucent drawing caches. This property is used
- only when the drawing cache is enabled and translucent. The default value is auto. -->
+ only when the drawing cache is enabled and translucent. The default value is auto.
+ Deprecated: The view drawing cache was largely made obsolete with the introduction of
+ hardware-accelerated rendering in API 11. -->
<attr name="drawingCacheQuality">
<!-- Lets the framework decide what quality level should be used
- for the drawing cache. -->
+ for the drawing cache.
+ Deprecated: The view drawing cache was largely made obsolete with the introduction
+ of hardware-accelerated rendering in API 11. -->
<enum name="auto" value="0" />
<!-- Low quality. When set to low quality, the drawing cache uses a lower color
- depth, thus losing precision in rendering gradients, but uses less memory. -->
+ depth, thus losing precision in rendering gradients, but uses less memory.
+ Deprecated: The view drawing cache was largely made obsolete with the introduction
+ of hardware-accelerated rendering in API 11. -->
<enum name="low" value="1" />
<!-- High quality. When set to high quality, the drawing cache uses a higher
- color depth but uses more memory. -->
+ color depth but uses more memory.
+ Deprecated: The view drawing cache was largely made obsolete with the introduction
+ of hardware-accelerated rendering in API 11. -->
<enum name="high" value="2" />
</attr>
@@ -3060,7 +3068,9 @@
instance during a scrolling.) This property lets you persist the cache
in memory after its initial usage. Persisting the cache consumes more
memory but may prevent frequent garbage collection is the cache is created
- over and over again. By default the persistence is set to scrolling. -->
+ over and over again. By default the persistence is set to scrolling.
+ Deprecated: The view drawing cache was largely made obsolete with the introduction of
+ hardware-accelerated rendering in API 11. -->
<attr name="persistentDrawingCache">
<!-- The drawing cache is not persisted after use. -->
<flag name="none" value="0x0" />
@@ -3072,7 +3082,9 @@
<flag name="all" value="0x3" />
</attr>
<!-- Defines whether the ViewGroup should always draw its children using their
- drawing cache or not. The default value is true. -->
+ drawing cache or not. The default value is true.
+ Deprecated: The view drawing cache was largely made obsolete with the introduction of
+ hardware-accelerated rendering in API 11. -->
<attr name="alwaysDrawnWithCache" format="boolean" />
<!-- Sets whether this ViewGroup's drawable states also include
its children's drawable states. This is used, for example, to