KVO在MemoryWarning时引起的crash

业务场景:

播放的视频滑出屏幕,停止播放。

实现:

使用kvo监听collectionView的contentOffset,检查visibleCells中是否有正在播放的cell,没有则视频滑出屏幕,停止播放。

crash:

当MemoryWarning时,会调用父类的didReceiveMemoryWarning;

在父类中判断如果self.view没有在屏幕中,会移除self.view;

当再次返回该控制器的时,会重新加载viewDidLoad,此时之前的collection引用计数器为0(之前是强引用,viewDidLoad会让_collection指向新的collectionView);

但是kvo并没有移除,所以crash。



你可能感兴趣的:(KVO在MemoryWarning时引起的crash)