From d629e4b0e5407b99600d297c01c52e8a95406867 Mon Sep 17 00:00:00 2001 From: Valentin Shergin Date: Tue, 26 Jun 2018 11:32:55 -0700 Subject: [PATCH] Fabric: Releasing image bitmap as part of `prepareForRecycle` Summary: @public When some `RCTImageComponentView` is going to be recycled, it makes sense to free an associated bitmap because it will not be reused anyways. Reviewed By: mdvacca Differential Revision: D8601751 fbshipit-source-id: 1318622b66460b8e5588a4420c91c516fe2b1106 --- .../ComponentViews/Image/RCTImageComponentView.mm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm b/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm index 9e8cb4de485..cb8dcd7fc0e 100644 --- a/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +++ b/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm @@ -39,6 +39,8 @@ using namespace facebook::react; return self; } +#pragma mark - RCTComponentViewProtocol + - (void)updateProps:(SharedProps)props oldProps:(SharedProps)oldProps { if (!oldProps) { @@ -79,6 +81,14 @@ using namespace facebook::react; }); } +- (void)prepareForRecycle +{ + [super prepareForRecycle]; + _imageView.image = nil; +} + +#pragma mark - Other + - (void)setImage:(UIImage *)image { const auto &imageProps = *std::static_pointer_cast(_props);