diff options
| author | Romain Guy <romainguy@google.com> | 2011-07-27 18:53:32 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-07-27 18:53:32 -0700 |
| commit | b6f7a27c59fd170b5d7617e43e21bfd8587f234e (patch) | |
| tree | 72e244eb413f78db3d124fa898e7503014845f84 /libs/hwui/DisplayListRenderer.cpp | |
| parent | 395c86f7f659e3ffc834689576cc738b517d3b9e (diff) | |
| parent | 65b345fa22b878e141b8fd8ece9c208df00fa40f (diff) | |
| download | frameworks_base-b6f7a27c59fd170b5d7617e43e21bfd8587f234e.zip frameworks_base-b6f7a27c59fd170b5d7617e43e21bfd8587f234e.tar.gz frameworks_base-b6f7a27c59fd170b5d7617e43e21bfd8587f234e.tar.bz2 | |
Merge "Reclaim more memory, more often."
Diffstat (limited to 'libs/hwui/DisplayListRenderer.cpp')
| -rw-r--r-- | libs/hwui/DisplayListRenderer.cpp | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/libs/hwui/DisplayListRenderer.cpp b/libs/hwui/DisplayListRenderer.cpp index 886c05c..88cfc5a 100644 --- a/libs/hwui/DisplayListRenderer.cpp +++ b/libs/hwui/DisplayListRenderer.cpp @@ -74,12 +74,17 @@ void DisplayList::outputLogBuffer(int fd) { if (logBuffer.isEmpty()) { return; } - String8 cachesLog; - Caches::getInstance().dumpMemoryUsage(cachesLog); + FILE *file = fdopen(fd, "a"); - fprintf(file, "\nCaches:\n%s", cachesLog.string()); + fprintf(file, "\nRecent DisplayList operations\n"); logBuffer.outputCommands(file, OP_NAMES); + + String8 cachesLog; + Caches::getInstance().dumpMemoryUsage(cachesLog); + fprintf(file, "\nCaches:\n%s", cachesLog.string()); + fprintf(file, "\n"); + fflush(file); } @@ -143,10 +148,10 @@ void DisplayList::initFromDisplayListRenderer(const DisplayListRenderer& recorde clearResources(); } - size_t size = writer.size(); - void* buffer = sk_malloc_throw(size); + mSize = writer.size(); + void* buffer = sk_malloc_throw(mSize); writer.flatten(buffer); - mReader.setMemory(buffer, size); + mReader.setMemory(buffer, mSize); Caches& caches = Caches::getInstance(); @@ -188,6 +193,11 @@ void DisplayList::initFromDisplayListRenderer(const DisplayListRenderer& recorde } void DisplayList::init() { + mSize = 0; +} + +size_t DisplayList::getSize() { + return mSize; } /** |
