diff options
author | Chet Haase <chet@google.com> | 2011-07-18 17:48:25 -0700 |
---|---|---|
committer | Chet Haase <chet@google.com> | 2011-07-18 17:48:25 -0700 |
commit | 75755e23f30d7a1f8c7b0c76ff5b2bcc72d6844f (patch) | |
tree | 3a6da5df276e53b7f3f79aa5b7acb98a71162d7e /core/java/android | |
parent | 49840e255beed794c1240b230b4d824520933fa1 (diff) | |
download | frameworks_base-75755e23f30d7a1f8c7b0c76ff5b2bcc72d6844f.zip frameworks_base-75755e23f30d7a1f8c7b0c76ff5b2bcc72d6844f.tar.gz frameworks_base-75755e23f30d7a1f8c7b0c76ff5b2bcc72d6844f.tar.bz2 |
Don't recreate view's display list when size hasn't changed
Minor optimization in setFrame(), to force recreation of
a view's display list only when the actual size of the view has
changed.
Change-Id: Id07bd6943beec30de731ae8469ba881f5c0d9ac6
Diffstat (limited to 'core/java/android')
-rw-r--r-- | core/java/android/view/View.java | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 4385c2f..dba6d31 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -10756,12 +10756,14 @@ public class View implements Drawable.Callback2, KeyEvent.Callback, Accessibilit // Remember our drawn bit int drawn = mPrivateFlags & DRAWN; - // Invalidate our old position - invalidate(true); - - int oldWidth = mRight - mLeft; int oldHeight = mBottom - mTop; + int newWidth = right - left; + int newHeight = bottom - top; + boolean sizeChanged = (newWidth != oldWidth) || (newHeight != oldHeight); + + // Invalidate our old position + invalidate(sizeChanged); mLeft = left; mTop = top; @@ -10770,10 +10772,8 @@ public class View implements Drawable.Callback2, KeyEvent.Callback, Accessibilit mPrivateFlags |= HAS_BOUNDS; - int newWidth = right - left; - int newHeight = bottom - top; - if (newWidth != oldWidth || newHeight != oldHeight) { + if (sizeChanged) { if ((mPrivateFlags & PIVOT_EXPLICITLY_SET) == 0) { // A change in dimension means an auto-centered pivot point changes, too mMatrixDirty = true; @@ -10788,7 +10788,7 @@ public class View implements Drawable.Callback2, KeyEvent.Callback, Accessibilit // before this call to setFrame came in, thereby clearing // the DRAWN bit. mPrivateFlags |= DRAWN; - invalidate(true); + invalidate(sizeChanged); // parent display list may need to be recreated based on a change in the bounds // of any child invalidateParentCaches(); |