2c376fc46cd01b12e003a7bf83d82f527f6efaf1 |
|
29-Jan-2011 |
Jeff Brown <jeffbrown@google.com> |
Optimize IntentResolver to reduce lookup time by 50%. IntentResolver frequently iterates over hundreds of different IntentFilters and spends much of its time creating iterators and comparing strings. This change avoids reduces the amount of garbage created by eschewing iterators where possible. The FastImmutableArraySet type on its own provides a 2.5x speed boost compared to repeatedly iterating over a HashSet. In absolute terms, during orientation changes we spent about 160ms resolving 11 intents and performing 1129 calls to IntentFilter.match. Now we spend half of that time. Change-Id: Ia120e0082c8cf0b572a0317b9ef4a22c766dbad6
/frameworks/base/core/java/android/util/FastImmutableArraySet.java
|