diff options
author | Dianne Hackborn <hackbod@google.com> | 2009-04-20 18:14:05 -0700 |
---|---|---|
committer | Dianne Hackborn <hackbod@google.com> | 2009-04-22 18:03:21 -0700 |
commit | 1d442e0d990b581357f33f5463c7c5cb49b551e8 (patch) | |
tree | 58963b9ba095e179ba7c63e52dfd525b93cb978e /graphics/java/android/graphics/Rect.java | |
parent | a0c9e8526b094e3b4f2c2747622059215d00516f (diff) | |
download | frameworks_base-1d442e0d990b581357f33f5463c7c5cb49b551e8.zip frameworks_base-1d442e0d990b581357f33f5463c7c5cb49b551e8.tar.gz frameworks_base-1d442e0d990b581357f33f5463c7c5cb49b551e8.tar.bz2 |
More optimization of dumpsys output.
There are three major classes of changes here:
- Avoid writing lines where their values are often empty, false, or some other typical thing.
- Use partial writes to the PrintWriter to avoid creating temporary strings.
- Use StringBuilder where we need to generate real String objects (and where possible cache the result).
Diffstat (limited to 'graphics/java/android/graphics/Rect.java')
-rw-r--r-- | graphics/java/android/graphics/Rect.java | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/graphics/java/android/graphics/Rect.java b/graphics/java/android/graphics/Rect.java index 2005344..7022acf 100644 --- a/graphics/java/android/graphics/Rect.java +++ b/graphics/java/android/graphics/Rect.java @@ -19,6 +19,8 @@ package android.graphics; import android.os.Parcel; import android.os.Parcelable; +import java.io.PrintWriter; + /** * Rect holds four integer coordinates for a rectangle. The rectangle is * represented by the coordinates of its 4 edges (left, top, right bottom). @@ -78,14 +80,40 @@ public final class Rect implements Parcelable { } public String toString() { - return "Rect(" + left + ", " + top + " - " + right + ", " + bottom + ")"; + StringBuilder sb = new StringBuilder(32); + sb.append("Rect("); sb.append(left); sb.append(", "); + sb.append(top); sb.append(" - "); sb.append(right); + sb.append(", "); sb.append(bottom); sb.append(")"); + return sb.toString(); } /** * Return a string representation of the rectangle in a compact form. */ public String toShortString() { - return "[" + left + "," + top + "][" + right + "," + bottom + "]"; + return toShortString(new StringBuilder(32)); + } + + /** + * Return a string representation of the rectangle in a compact form. + * @hide + */ + public String toShortString(StringBuilder sb) { + sb.setLength(0); + sb.append('['); sb.append(left); sb.append(','); + sb.append(top); sb.append("]["); sb.append(right); + sb.append(','); sb.append(bottom); sb.append(']'); + return sb.toString(); + } + + /** + * Print short representation to given writer. + * @hide + */ + public void printShortString(PrintWriter pw) { + pw.print('['); pw.print(left); pw.print(','); + pw.print(top); pw.print("]["); pw.print(right); + pw.print(','); pw.print(bottom); pw.print(']'); } /** |