Skip to content

Commit 2c0679b

Browse files
lexsfacebook-github-bot-7
authored andcommitted
Reuse DraweeControllerBuilder instead of allocating one for every image
Reviewed By: astreet Differential Revision: D2699801 fb-gh-sync-id: 883e788f0a5c7231bf26f1ba4149115a15487366
1 parent 699a75b commit 2c0679b

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public String getName() {
3232
return REACT_CLASS;
3333
}
3434

35-
private final @Nullable AbstractDraweeControllerBuilder mDraweeControllerBuilder;
35+
private @Nullable AbstractDraweeControllerBuilder mDraweeControllerBuilder;
3636
private final @Nullable Object mCallerContext;
3737

3838
public ReactImageManager(
@@ -43,16 +43,20 @@ public ReactImageManager(
4343
}
4444

4545
public ReactImageManager() {
46+
// Lazily initialize as FrescoModule have not been initialized yet
4647
mDraweeControllerBuilder = null;
4748
mCallerContext = null;
4849
}
4950

5051
@Override
5152
public ReactImageView createViewInstance(ThemedReactContext context) {
53+
if (mDraweeControllerBuilder == null) {
54+
mDraweeControllerBuilder = Fresco.newDraweeControllerBuilder();
55+
}
56+
5257
return new ReactImageView(
5358
context,
54-
mDraweeControllerBuilder == null ?
55-
Fresco.newDraweeControllerBuilder() : mDraweeControllerBuilder,
59+
mDraweeControllerBuilder,
5660
mCallerContext);
5761
}
5862

0 commit comments

Comments
 (0)