需求是这样的:

app首页有个轮播的玩意,我自己写了个定时器实现了,在前台跑的时候我看了很久一直没发现有啥问题,问题就出现在我退到后台的时候,过了一会,可能是app被系统沉睡了吧,我再进去的时候就混乱了,一看就是定时器出的问题,但是一直没想明白,定时器怎么就出问题了,app在被系统唤醒的时候到底做了什么操作!!!

发现问题:跟踪了很久,发现了每次app被唤醒的时候都会调用drawRect方法,而我那个定时器就放在drawRect里面alloc的,所以每次timer都会被alloc,所以timer紊乱了。。。

解决办法:每次alloc timer之前,都先判断timer是否存在,存在的话就释放一下,ok,,,问题解决了。

分类:

技术点:

相关文章: