Merge "Log if a view fails to fit in the drawing cache" into jb-mr1-dev

This commit is contained in:
Chris Craik
2012-09-06 14:49:17 -07:00
committed by Android (Google) Code Review

View File

@@ -12537,10 +12537,13 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
final boolean opaque = drawingCacheBackgroundColor != 0 || isOpaque(); final boolean opaque = drawingCacheBackgroundColor != 0 || isOpaque();
final boolean use32BitCache = attachInfo != null && attachInfo.mUse32BitDrawingCache; final boolean use32BitCache = attachInfo != null && attachInfo.mUse32BitDrawingCache;
if (width <= 0 || height <= 0 || final int projectedBitmapSize = width * height * (opaque && !use32BitCache ? 2 : 4);
// Projected bitmap size in bytes final int drawingCacheSize =
(width * height * (opaque && !use32BitCache ? 2 : 4) > ViewConfiguration.get(mContext).getScaledMaximumDrawingCacheSize();
ViewConfiguration.get(mContext).getScaledMaximumDrawingCacheSize())) { if (width <= 0 || height <= 0 || projectedBitmapSize > drawingCacheSize) {
Log.w(VIEW_LOG_TAG, "View too large to fit into drawing cache, needs "
+ projectedBitmapSize + " bytes, only "
+ drawingCacheSize + " available");
destroyDrawingCache(); destroyDrawingCache();
mCachingFailed = true; mCachingFailed = true;
return; return;