大坑 !!
需求是这样的:
app首页有个轮播的玩意,我自己写了个定时器实现了,在前台跑的时候我看了很久一直没发现有啥问题,问题就出现在我退到后台的时候,过了一会,可能是app被系统沉睡了吧,我再进去的时候就混乱了,一看就是定时器出的问题,但是一直没想明白,定时器怎么就出问题了,app在被系统唤醒的时候到底做了什么操作!!!
发现问题:跟踪了很久,发现了每次app被唤醒的时候都会调用drawRect方法,而我那个定时器就放在drawRect里面alloc的,所以每次timer都会被alloc,所以timer紊乱了。。。
解决办法:每次alloc timer之前,都先判断timer是否存在,存在的话就释放一下,ok,,,问题解决了。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步