summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorMattias Petersson <mattias.petersson@sonyericsson.com>2010-12-22 12:04:43 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2010-12-22 12:04:43 -0800
commit658ecc18695620441a0f77e84904ce9bbaba7dff (patch)
tree0920d409e88c3d31a471bee90cd9de618040eb6f /services
parent8e5ba659df58ac692a0c4a46b25446ead5e03af6 (diff)
parent2f209e885a86b8396fe1344043cf9858751fcb64 (diff)
downloadframeworks_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.java16
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;
}
}