你知道用系统的CAAnimation做动画会有内存泄漏吗?
实话说,我是昨天才知道的,要不是亲眼所见,自己真的不相信系统的框架还会有内存泄漏。所以凡事没绝对哈。
再问一个问题:
present的控制器dismiss会执行deinit方法吗?子类的视图会走deinit方法吗?是不是和我一样纠结过这个问题?
动画导致内存泄漏就是这个代理:
/* The delegate of the animation. This object is retained for the
* lifetime of the animation object. Defaults to nil. See below for the
* supported delegate methods. */
@property(nullable, strong) id <CAAnimationDelegate> delegate;
image.png
官方的代码居然没有weak。。。。。。
找到内存泄漏方法最傻也是最有效的方法就是代码注释,最后找到有问题的代码然后解决就好了。
参考链接:
CoreAnimation导致内存泄漏:
https://www.jianshu.com/p/b29e81f4aa1e
网友评论