代码运行过程中常会遇到内存问题:Thread 1: EXC_BREAKPOINT (code=1, subcode=0x198d80a08)
这个报错提示很笼统,各个开发人员在开发过程中遇到的问题各不相同,下面来统计集合,希望能有你的答案
(PS:有遇到不同情况的朋友可以评论或者私信我,完善这篇文章,尽可能解决这个问题)
1.没有dealloc 对象
1.1 我遇到的场景:登陆App-->退出登陆,回到登陆界面-->再登陆,报错 (如下图: )
1.2 分析:通常这个错误提示出来,第一反应就是内存泄漏:哪个对象提前释放了,哪个对象没有被释放掉,但是一个个找真的很麻烦
1.3 解决:开启僵尸对象(Zombie Objects)来定位问题,在Xcode的菜单:Product->Scheme->Edit Scheme->RUN,
Diagnostics ->Memory Management ->(勾选)Zombie Objects。(如下图:)
重运行,复现错误,此时系统定位了错误且在控制台输出了相应描述,是我自己的MineViewController这个界面 (如下图:)
再在这个页面找错误.(这里就按照自己的代码思维找了,没有捷径)
最后找到的错误是:没有释放KVO对象,KVO监听了“MineCarsStatus”, 没有在 dealloc 里释放掉:(如下图:)
最后在dealloc 里释放 MineCarsStatus 即可。