diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java b/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java index 259f177f0..4d65e5141 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java @@ -449,6 +449,10 @@ public class ReactImageView extends GenericDraweeView { setController(mDraweeControllerBuilder.build()); mIsDirty = false; + + // Reset again so the DraweeControllerBuilder clears all it's references. Otherwise, this causes + // a memory leak. + mDraweeControllerBuilder.reset(); } // VisibleForTesting diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java b/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java index 0b8dcd19f..2293bc674 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java @@ -141,6 +141,7 @@ public class FrescoBasedReactTextInlineImageSpan extends TextInlineImageSpan { .setImageRequest(imageRequest) .build(); mDraweeHolder.setController(draweeController); + mDraweeControllerBuilder.reset(); mDrawable = mDraweeHolder.getTopLevelDrawable(); mDrawable.setBounds(0, 0, mWidth, mHeight);