fix: fix memory leak for iOS
This commit is contained in:
parent
8b09cb58df
commit
86a89eaed2
@ -9,6 +9,7 @@
|
||||
- Android: fix linter warning [#2891] (https://github.com/react-native-video/react-native-video/pull/2891)
|
||||
- Fix iOS RCTSwiftLog naming collision [#2868](https://github.com/react-native-video/react-native-video/issues/2868)
|
||||
- Added "homepage" to package.json [#2882](https://github.com/react-native-video/react-native-video/pull/2882)
|
||||
- Fix: memory leak issue on iOS [#2907](https://github.com/react-native-video/react-native-video/pull/2907)
|
||||
|
||||
### Version 6.0.0-alpha.3
|
||||
|
||||
@ -100,7 +101,7 @@
|
||||
|
||||
- Basic support for DRM on iOS and Android [#1445](https://github.com/react-native-community/react-native-video/pull/1445)
|
||||
|
||||
### Version 5.1.0-alpha6
|
||||
### Version 5.1.0-alpha6
|
||||
|
||||
- Fix iOS bug which would break size of views when video is displayed with controls on a non full-screen React view. [#1931](https://github.com/react-native-community/react-native-video/pull/1931)
|
||||
- Fix video dimensions being undefined when playing HLS in ios. [#1992](https://github.com/react-native-community/react-native-video/pull/1992)
|
||||
|
@ -280,7 +280,7 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
|
||||
self._playerItem?.preferredPeakBitRate = Double(maxBitRate)
|
||||
}
|
||||
|
||||
self._player = AVPlayer()
|
||||
self._player = self._player ?? AVPlayer()
|
||||
DispatchQueue.global(qos: .default).async {
|
||||
self._player?.replaceCurrentItem(with: playerItem)
|
||||
}
|
||||
@ -704,6 +704,7 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
|
||||
else
|
||||
{
|
||||
_playerViewController?.view.removeFromSuperview()
|
||||
_playerViewController?.removeFromParent()
|
||||
_playerViewController = nil
|
||||
_playerObserver.playerViewController = nil
|
||||
self.usePlayerLayer()
|
||||
@ -836,6 +837,7 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
|
||||
|
||||
if let _playerViewController = _playerViewController {
|
||||
_playerViewController.view.removeFromSuperview()
|
||||
_playerViewController.removeFromParent()
|
||||
_playerViewController.rctDelegate = nil
|
||||
_playerViewController.player = nil
|
||||
self._playerViewController = nil
|
||||
|
Loading…
Reference in New Issue
Block a user