diff options
| author | 2015-08-01 16:53:09 +0000 | |
|---|---|---|
| committer | 2015-08-01 16:53:09 +0000 | |
| commit | 41343c0f287863488a10a429d88ec094e9183938 (patch) | |
| tree | e7197a76d38ae1c464bb538c982a7a87aed34b09 | |
| parent | cd158b4f7e145fe72556aae5c603921a347820f2 (diff) | |
| parent | 6550e461e50626b88835576e7bf12f49bb322e73 (diff) | |
am 6550e461: am 0568a230: am 9d8a230f: Revert "View measurement optimization"
* commit '6550e461e50626b88835576e7bf12f49bb322e73':
Revert "View measurement optimization"
| -rw-r--r-- | core/java/android/view/View.java | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 1258b85edca8..3b7f6aa0dc21 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -18768,22 +18768,17 @@ public class View implements Drawable.Callback, KeyEvent.Callback, long key = (long) widthMeasureSpec << 32 | (long) heightMeasureSpec & 0xffffffffL; if (mMeasureCache == null) mMeasureCache = new LongSparseLongArray(2); - final boolean forceLayout = (mPrivateFlags & PFLAG_FORCE_LAYOUT) == PFLAG_FORCE_LAYOUT; - final boolean isExactly = MeasureSpec.getMode(widthMeasureSpec) == MeasureSpec.EXACTLY && - MeasureSpec.getMode(heightMeasureSpec) == MeasureSpec.EXACTLY; - final boolean matchingSize = isExactly && - getMeasuredWidth() == MeasureSpec.getSize(widthMeasureSpec) && - getMeasuredHeight() == MeasureSpec.getSize(heightMeasureSpec); - if (forceLayout || !matchingSize && - (widthMeasureSpec != mOldWidthMeasureSpec || - heightMeasureSpec != mOldHeightMeasureSpec)) { + if ((mPrivateFlags & PFLAG_FORCE_LAYOUT) == PFLAG_FORCE_LAYOUT || + widthMeasureSpec != mOldWidthMeasureSpec || + heightMeasureSpec != mOldHeightMeasureSpec) { // first clears the measured dimension flag mPrivateFlags &= ~PFLAG_MEASURED_DIMENSION_SET; resolveRtlPropertiesIfNeeded(); - int cacheIndex = forceLayout ? -1 : mMeasureCache.indexOfKey(key); + int cacheIndex = (mPrivateFlags & PFLAG_FORCE_LAYOUT) == PFLAG_FORCE_LAYOUT ? -1 : + mMeasureCache.indexOfKey(key); if (cacheIndex < 0 || sIgnoreMeasureCache) { // measure ourselves, this should set the measured dimension flag back onMeasure(widthMeasureSpec, heightMeasureSpec); |