summaryrefslogtreecommitdiff
path: root/libs/hwui/GenerationCache.h
diff options
context:
space:
mode:
author Romain Guy <romainguy@google.com> 2010-08-23 21:05:08 -0700
committer Romain Guy <romainguy@google.com> 2010-08-24 17:18:14 -0700
commitfb8b763f762ae21923c58d64caa729b012f40e05 (patch)
tree013792d41f32bff4dd35e6d53eebac711c513729 /libs/hwui/GenerationCache.h
parenta1f1174b396cda7bdff469a2e974a737600c5eb0 (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.h10
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();
}