diff options
| -rw-r--r-- | api/current.txt | 42 | ||||
| -rw-r--r-- | api/system-current.txt | 42 | ||||
| -rw-r--r-- | api/test-current.txt | 42 | ||||
| -rw-r--r-- | core/java/android/view/View.java | 196 | ||||
| -rw-r--r-- | core/java/android/view/ViewGroup.java | 98 | ||||
| -rw-r--r-- | core/res/res/values/attrs.xml | 24 |
6 files changed, 375 insertions, 69 deletions
diff --git a/api/current.txt b/api/current.txt index 9bbdee155872..7b5612fe368a 100644 --- a/api/current.txt +++ b/api/current.txt @@ -45745,8 +45745,8 @@ package android.view { 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 @@ package android.view { 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 @@ package android.view { 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 @@ package android.view { 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 @@ package android.view { 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 @@ package android.view { 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 @@ package android.view { 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 @@ package android.view { 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 @@ package android.view { 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 @@ package android.view { 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 9e02b03c0add..a2863ee1b46e 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -49470,8 +49470,8 @@ package android.view { 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 @@ package android.view { 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 @@ package android.view { 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 @@ package android.view { 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 @@ package android.view { 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 @@ package android.view { 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 @@ package android.view { 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 @@ package android.view { 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 @@ package android.view { 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 @@ package android.view { 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 fe861e1078bd..834cb362d8c1 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -46315,8 +46315,8 @@ package android.view { 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 @@ package android.view { 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 @@ package android.view { 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 @@ package android.view { 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 @@ package android.view { 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 @@ package android.view { 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 @@ package android.view { 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 @@ package android.view { 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 @@ package android.view { 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 @@ package android.view { 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 b6be29611aa6..0d1258d6af3f 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -1448,17 +1448,59 @@ public class View implements Drawable.Callback, KeyEvent.Callback, /** * <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 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * @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 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * @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 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * @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 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * * @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 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * @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 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * @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 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * @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 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * @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 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * @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 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * <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 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * * @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 b2e5a163d872..929beaea42b8 100644 --- a/core/java/android/view/ViewGroup.java +++ b/core/java/android/view/ViewGroup.java @@ -421,22 +421,78 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager /** * 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 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager * 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 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager * @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 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager * @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 11cdb76f2c1b..4b9839fee254 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 |