diff options
author | 2010-08-23 21:05:08 -0700 | |
---|---|---|
committer | 2010-08-24 17:18:14 -0700 | |
commit | fb8b763f762ae21923c58d64caa729b012f40e05 (patch) | |
tree | 013792d41f32bff4dd35e6d53eebac711c513729 /libs/hwui/GenerationCache.h | |
parent | a1f1174b396cda7bdff469a2e974a737600c5eb0 (diff) |
Use only one GL context per process, share chaches.
Change-Id: Ieabaa25338d2f4b8d4fd90e7401ad6e7452eae11
Diffstat (limited to 'libs/hwui/GenerationCache.h')
-rw-r--r-- | libs/hwui/GenerationCache.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/libs/hwui/GenerationCache.h b/libs/hwui/GenerationCache.h index 45b3ffaf074a..c358c8096cfd 100644 --- a/libs/hwui/GenerationCache.h +++ b/libs/hwui/GenerationCache.h @@ -104,12 +104,14 @@ void GenerationCache<K, V>::setOnEntryRemovedListener(OnEntryRemoved<K, V>* list template<typename K, typename V> void GenerationCache<K, V>::clear() { if (mListener) { - while (mCache.size() > 0) { - removeOldest(); + for (uint32_t i = 0; i < mCache.size(); i++) { + sp<Entry<K, V> > entry = mCache.valueAt(i); + if (mListener) { + (*mListener)(entry->key, entry->value); + } } - } else { - mCache.clear(); } + mCache.clear(); mYoungest.clear(); mOldest.clear(); } |