diff options
author | Mattias Petersson <mattias.petersson@sonyericsson.com> | 2010-12-22 12:04:43 -0800 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2010-12-22 12:04:43 -0800 |
commit | 658ecc18695620441a0f77e84904ce9bbaba7dff (patch) | |
tree | 0920d409e88c3d31a471bee90cd9de618040eb6f /services | |
parent | 8e5ba659df58ac692a0c4a46b25446ead5e03af6 (diff) | |
parent | 2f209e885a86b8396fe1344043cf9858751fcb64 (diff) | |
download | frameworks_base-658ecc18695620441a0f77e84904ce9bbaba7dff.zip frameworks_base-658ecc18695620441a0f77e84904ce9bbaba7dff.tar.gz frameworks_base-658ecc18695620441a0f77e84904ce9bbaba7dff.tar.bz2 |
am 2f209e88: am 1622eee2: Improve performance of WindowState.toString()
* commit '2f209e885a86b8396fe1344043cf9858751fcb64':
Improve performance of WindowState.toString()
Diffstat (limited to 'services')
-rw-r--r-- | services/java/com/android/server/WindowManagerService.java | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/services/java/com/android/server/WindowManagerService.java b/services/java/com/android/server/WindowManagerService.java index 748f2e9..94ed813 100644 --- a/services/java/com/android/server/WindowManagerService.java +++ b/services/java/com/android/server/WindowManagerService.java @@ -6814,6 +6814,11 @@ public class WindowManagerService extends IWindowManager.Stub // Input channel InputChannel mInputChannel; + // Used to improve performance of toString() + String mStringNameCache; + CharSequence mLastTitle; + boolean mWasPaused; + WindowState(Session s, IWindow c, WindowToken token, WindowState attachedWindow, WindowManager.LayoutParams a, int viewVisibility) { @@ -8131,9 +8136,14 @@ public class WindowManagerService extends IWindowManager.Stub @Override public String toString() { - return "Window{" - + Integer.toHexString(System.identityHashCode(this)) - + " " + mAttrs.getTitle() + " paused=" + mToken.paused + "}"; + if (mStringNameCache == null || mLastTitle != mAttrs.getTitle() + || mWasPaused != mToken.paused) { + mLastTitle = mAttrs.getTitle(); + mWasPaused = mToken.paused; + mStringNameCache = "Window{" + Integer.toHexString(System.identityHashCode(this)) + + " " + mLastTitle + " paused=" + mWasPaused + "}"; + } + return mStringNameCache; } } |