diff --git a/android_icu4j/src/main/tests/android/icu/dev/test/format/NumberRegressionTests.java b/android_icu4j/src/main/tests/android/icu/dev/test/format/NumberRegressionTests.java
index d566af9..b235ea1 100644
--- a/android_icu4j/src/main/tests/android/icu/dev/test/format/NumberRegressionTests.java
+++ b/android_icu4j/src/main/tests/android/icu/dev/test/format/NumberRegressionTests.java
@@ -40,6 +40,7 @@
 import java.util.Date;
 import java.util.Locale;
 
+import org.junit.Ignore;
 import org.junit.Test;
 
 import android.icu.dev.test.TestFmwk;
@@ -1529,6 +1530,9 @@
      * symbol, percent, and permille.  This is filed as bugs 4212072 and
      * 4212073.
      */
+    // Android-changed: Added @Ignore to suppress the test; it consumes a lot of heap, permanently,
+    // affecting later tests. http://b/62374714
+    @Ignore
     @Test
     public void Test4212072() throws IOException, ClassNotFoundException {
         DecimalFormatSymbols sym = new DecimalFormatSymbols(Locale.US);
diff --git a/android_icu4j/src/main/tests/android/icu/dev/test/format/TimeUnitTest.java b/android_icu4j/src/main/tests/android/icu/dev/test/format/TimeUnitTest.java
index 1e9e426..86ae667 100644
--- a/android_icu4j/src/main/tests/android/icu/dev/test/format/TimeUnitTest.java
+++ b/android_icu4j/src/main/tests/android/icu/dev/test/format/TimeUnitTest.java
@@ -13,6 +13,7 @@
 import java.text.ParsePosition;
 import java.util.Locale;
 
+import org.junit.Ignore;
 import org.junit.Test;
 
 import android.icu.dev.test.TestFmwk;
@@ -281,6 +282,9 @@
         tuf.setNumberFormat(numfmt);        
     }
 
+    // Android-changed: Added @Ignore to suppress the test; it consumes a lot of heap, permanently,
+    // affecting later tests. http://b/62374714
+    @Ignore
     @Test
     public void TestBritishShortHourFallback() {
         // See ticket #11986 "incomplete fallback in MeasureFormat".
diff --git a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/NumberRegressionTests.java b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/NumberRegressionTests.java
index c97cd12..7aca65a 100644
--- a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/NumberRegressionTests.java
+++ b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/NumberRegressionTests.java
@@ -39,6 +39,7 @@
 import java.util.Date;
 import java.util.Locale;
 
+import org.junit.Ignore;
 import org.junit.Test;
 
 import com.ibm.icu.dev.test.TestFmwk;
@@ -1528,6 +1529,9 @@
      * symbol, percent, and permille.  This is filed as bugs 4212072 and
      * 4212073.
      */
+    // Android-changed: Added @Ignore to suppress the test; it consumes a lot of heap, permanently,
+    // affecting later tests. http://b/62374714
+    @Ignore
     @Test
     public void Test4212072() throws IOException, ClassNotFoundException {
         DecimalFormatSymbols sym = new DecimalFormatSymbols(Locale.US);
diff --git a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/TimeUnitTest.java b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/TimeUnitTest.java
index ff34908..750a28f 100644
--- a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/TimeUnitTest.java
+++ b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/TimeUnitTest.java
@@ -12,6 +12,7 @@
 import java.text.ParsePosition;
 import java.util.Locale;
 
+import org.junit.Ignore;
 import org.junit.Test;
 
 import com.ibm.icu.dev.test.TestFmwk;
@@ -280,6 +281,9 @@
         tuf.setNumberFormat(numfmt);        
     }
 
+    // Android-changed: Added @Ignore to suppress the test; it consumes a lot of heap, permanently,
+    // affecting later tests. http://b/62374714
+    @Ignore
     @Test
     public void TestBritishShortHourFallback() {
         // See ticket #11986 "incomplete fallback in MeasureFormat".
