iOS开发项目问题(一)

2017-11-14  本文已影响49人  Ausxin

hello!大家好,我是来自北京的一枚iOS开发工程师!

问题所在

  1. 初步判断是内存泄露,但是当时页面上的处理比较多,页面里面涉及到蓝牙写入、读取、上传,所以只是初步做了个判断,开始我以为是写的代理方法造成循环引用,各种检查代码,代理并没有错,后来实在找不到问题所在,只好把代码全部注释掉,一点点放开,终于找到问题,是因为页面上两个view 的切换并且两个view都有动画,一个UIView的动画,一个是CALayer层的动画组。


    C058C176-CB12-411B-885E-B587243A170C.png
  1. 第二个问题也是动画的问题,是CALayer的动画组,离开页面也是没有释放内存,造成内存泄露。 3974EE55-EDAA-4CFD-8228-2D5AE0BFAA6A.png 727DDE2C-B91E-4925-8CE3-91D05A1F895A.png

总结:

  1. 为什么动画会造成内存泄露呢,举个比较简单的例子,因为咱们知道layer是加在View上的,当页面消失的时候,控件已经被释放,但是layer没有释放,导致找不到控件,会一直调用,最后造成死递归(个人理解孩子找不到爸爸了)所以会造成内存泄露。
  2. 其实在项目中遇到的问题还是比较多的,今天躺在床上无聊,顺便写一写,时常给自己提个醒,以后不要犯这种低级的错误,以后只要有时间,我感觉还是应该多总结,因为只有总结多了,自己才会成长的快,虽然我目前是个小白,但是我也有一颗大神梦, 哈哈!好了,时间不早了,今天就说这么多,希望各路大神走过路过,看到写的不好的地方,多多提出意见和建议。大家晚安~~!

最后顺便打个广告,如果有做过阿里点播的大神,可以恢复我下,有些问题需要请教,谢谢咯~~

上一篇 下一篇

猜你喜欢

热点阅读