diff --git a/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java b/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java
index c51f184..7620396 100644
--- a/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java
+++ b/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java
@@ -38,7 +38,6 @@
 import com.android.inputmethod.latin.SubtypeSwitcher;
 import com.android.inputmethod.latin.Utils;
 
-import java.lang.ref.SoftReference;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Locale;
@@ -329,10 +328,12 @@
                 Math.max(0, Math.min(y, mOccupiedHeight - 1)));
     }
 
+    private static final int[] ATTR_TEXT_SIZE = { android.R.attr.textSize };
+
     public static int getTextSizeFromTheme(Theme theme, int style, int defValue) {
-        TypedArray array = theme.obtainStyledAttributes(
-                style, new int[] { android.R.attr.textSize });
-        int textSize = array.getDimensionPixelSize(array.getResourceId(0, 0), defValue);
+        final TypedArray a = theme.obtainStyledAttributes(style, ATTR_TEXT_SIZE);
+        final int textSize = a.getDimensionPixelSize(a.getResourceId(0, 0), defValue);
+        a.recycle();
         return textSize;
     }
 }
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
index 613ce58..c2e96f8 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
@@ -323,7 +323,10 @@
                 if (TAG_KEYBOARD.equals(tag)) {
                     final TypedArray keyboardAttr = res.obtainAttributes(Xml.asAttributeSet(parser),
                             R.styleable.Keyboard);
-                    return keyboardAttr.getString(R.styleable.Keyboard_keyboardLocale);
+                    final String locale = keyboardAttr.getString(
+                            R.styleable.Keyboard_keyboardLocale);
+                    keyboardAttr.recycle();
+                    return locale;
                 } else {
                     throw new IllegalStartTag(parser, TAG_KEYBOARD);
                 }
