summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Diego Perez <diegoperez@google.com> 2017-03-24 11:07:42 +0000
committer Diego Perez <diegoperez@google.com> 2017-03-24 11:10:38 +0000
commitd7437d649e2a6f84098d42359fb103d78ad03ba8 (patch)
tree06da9854b4400fb72f371831fb9f3d24d7731764
parent81b034d4f83998b15ef94aa0c4b7c33d06b34606 (diff)
Dispose font cache on bridge.dispose
Test: N/A Change-Id: I81404740835814a018bfd70cf70b5c22933f19f5
-rw-r--r--tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java2
-rw-r--r--tools/layoutlib/bridge/tests/src/com/android/layoutlib/bridge/intensive/RenderTestBase.java1
-rw-r--r--tools/layoutlib/create/src/com/android/tools/layoutlib/create/CreateInfo.java3
3 files changed, 5 insertions, 1 deletions
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java
index 3b882909698d..2e149748636b 100644
--- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java
@@ -38,6 +38,7 @@ import android.annotation.NonNull;
import android.content.res.BridgeAssetManager;
import android.graphics.Bitmap;
import android.graphics.FontFamily_Delegate;
+import android.graphics.Typeface;
import android.graphics.Typeface_Delegate;
import android.icu.util.ULocale;
import android.os.Looper;
@@ -402,6 +403,7 @@ public final class Bridge extends com.android.ide.common.rendering.api.Bridge {
// dispose of the default typeface.
Typeface_Delegate.resetDefaults();
+ Typeface.sDynamicTypefaceCache.evictAll();
return true;
}
diff --git a/tools/layoutlib/bridge/tests/src/com/android/layoutlib/bridge/intensive/RenderTestBase.java b/tools/layoutlib/bridge/tests/src/com/android/layoutlib/bridge/intensive/RenderTestBase.java
index 67b42a7cf86d..00dddeed3e8c 100644
--- a/tools/layoutlib/bridge/tests/src/com/android/layoutlib/bridge/intensive/RenderTestBase.java
+++ b/tools/layoutlib/bridge/tests/src/com/android/layoutlib/bridge/intensive/RenderTestBase.java
@@ -311,6 +311,7 @@ public class RenderTestBase {
sFrameworkRepo = null;
sProjectResources = null;
sLogger = null;
+ sBridge.dispose();
sBridge = null;
TestUtils.gc();
diff --git a/tools/layoutlib/create/src/com/android/tools/layoutlib/create/CreateInfo.java b/tools/layoutlib/create/src/com/android/tools/layoutlib/create/CreateInfo.java
index b0aa3c2989a5..cb0bc6d3c431 100644
--- a/tools/layoutlib/create/src/com/android/tools/layoutlib/create/CreateInfo.java
+++ b/tools/layoutlib/create/src/com/android/tools/layoutlib/create/CreateInfo.java
@@ -334,7 +334,8 @@ public final class CreateInfo implements ICreateInfo {
private final static String[] PROMOTED_FIELDS = new String[] {
"android.graphics.drawable.VectorDrawable#mVectorState",
"android.view.Choreographer#mLastFrameTimeNanos",
- "android.graphics.FontFamily#mBuilderPtr"
+ "android.graphics.FontFamily#mBuilderPtr",
+ "android.graphics.Typeface#sDynamicTypefaceCache"
};
/**