OSDN Git Service

Dispose font cache on bridge.dispose
authorDiego Perez <diegoperez@google.com>
Fri, 24 Mar 2017 11:07:42 +0000 (11:07 +0000)
committerDiego Perez <diegoperez@google.com>
Fri, 24 Mar 2017 11:10:38 +0000 (11:10 +0000)
Test: N/A
Change-Id: I81404740835814a018bfd70cf70b5c22933f19f5

tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java
tools/layoutlib/bridge/tests/src/com/android/layoutlib/bridge/intensive/RenderTestBase.java
tools/layoutlib/create/src/com/android/tools/layoutlib/create/CreateInfo.java

index 3b88290..2e14974 100644 (file)
@@ -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;
     }
index 67b42a7..00dddee 100644 (file)
@@ -311,6 +311,7 @@ public class RenderTestBase {
         sFrameworkRepo = null;
         sProjectResources = null;
         sLogger = null;
+        sBridge.dispose();
         sBridge = null;
 
         TestUtils.gc();
index b0aa3c2..cb0bc6d 100644 (file)
@@ -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"
     };
 
     /**