diff --git a/core/java/android/content/res/Resources.java b/core/java/android/content/res/Resources.java index ff272eeac352e..7b56eebf34acd 100644 --- a/core/java/android/content/res/Resources.java +++ b/core/java/android/content/res/Resources.java @@ -151,8 +151,9 @@ public class Resources { private boolean mPreloading; + // Cyclical cache used for recently-accessed XML files. private int mLastCachedXmlBlockIndex = -1; - private final int[] mCachedXmlBlockIds = { 0, 0, 0, 0 }; + private final String[] mCachedXmlBlockFiles = new String[4]; private final XmlBlock[] mCachedXmlBlocks = new XmlBlock[4]; final AssetManager mAssets; @@ -2370,16 +2371,17 @@ public class Resources { * tools. */ public final void flushLayoutCache() { - synchronized (mCachedXmlBlockIds) { - // First see if this block is in our cache. - final int num = mCachedXmlBlockIds.length; - for (int i=0; i