fix(ios): retain cycle and memory leak involving the RCTVideo instance when using Google IMA ads in react-native-video. (#4574)

Co-authored-by: Varuzhan Khachatryan <varuzhan.khachatryan23@gmail.com>
This commit is contained in:
Varuzh1
2025-06-18 10:12:21 +04:00
committed by GitHub
parent 60c3a08ae3
commit b51b579ff0
+6 -1
View File
@@ -30,8 +30,13 @@
func requestAds() {
guard let _video else { return }
// fixes RCTVideo --> RCTIMAAdsManager --> IMAAdsLoader --> IMAAdDisplayContainer --> RCTVideo memory leak.
let adContainerView = UIView(frame: _video.bounds)
adContainerView.backgroundColor = .clear
_video.addSubview(adContainerView)
// Create ad display container for ad rendering.
let adDisplayContainer = IMAAdDisplayContainer(adContainer: _video, viewController: _video.reactViewController())
let adDisplayContainer = IMAAdDisplayContainer(adContainer: adContainerView, viewController: _video.reactViewController())
let adTagUrl = _video.getAdTagUrl()
let contentPlayhead = _video.getContentPlayhead()