美文网首页
关于NSTimer

关于NSTimer

作者: innepeace | 来源:发表于2020-09-09 11:04 被阅读0次

Timer使用注意事项:
1.被VC持有,当页面消失,倒计时未结束,未被销毁,导致VC不被dealloc。
VC1推出VC2a,VC2a有一个NSTimer,timer,从VC2a返回VC1,此时VC2a的timer还未结束倒计时。返回VC1时,timer未释放,导致VC2a未被dealloc,此时VC1再次推出VC2b,就会导致有一个未被显示的VC2a仍然存在于内存。如果VC2中有使用通知,RAC等接收数据,会导致VC2a和VC2b同时收到通知,后续逻辑会走两遍。
解决办法:在VC2的viewDidDisappear:方法中,检查self是否已经不在navigationcontroller.viewControllers中,不在则表示已经被抛弃,此时主动释放timer,如果则是跳转了下一个页面,此时不释放timer(再次返回该页面时,不会生成新的VC2)

(持续更新)

相关文章

  • NSTimer

    深入NSTimer(iOS)iOS 中的 NSTimer关于NSRunLoop和NSTimer的深入理解

  • Controller销毁NSTimer释放的细节

    关于NSTimer释放和内存泄漏的问题。 @(NSTimer)[内存管理,NSTimer释放,循环引用] 首先需要...

  • NSTimer CADisplayLink GCD计时器的深入探

    关于NSTimer CADisplayLink GCD计时器的杂谈 ** NSTimer ** iOS中最常用的定...

  • 关于NSTimer

    NSTimer 一个计时器,不算常用但也算基础。我想每个开发iOS都应该知道,所以我一般会把他当作一个面试题。可以...

  • 关于NSTimer

    NSTimer使用方式 常用的创建方式有 1+ (NSTimer *)timerWithTimeInterval:...

  • 关于NSTimer

    关于NSTimer 在工作中经常会做一些延时任务,或者周期性任务,有时候也需要对取消延时任务操作。 延时任务一般有...

  • 关于NSTimer

    Timer使用注意事项:1.被VC持有,当页面消失,倒计时未结束,未被销毁,导致VC不被dealloc。VC1推出...

  • 多线程下关于NSTimer不释放的问题

    多线程下关于NSTimer不释放的问题 前言 前段时间由于项目需要,用到NSTimer,考虑到不占用主线程资源,故...

  • 关于NSTimer的循环引用问题

    关于NSTimer的介绍 1、最近在总结知识、好久没记录了,今天抽空记录下NSTimer的使用,首先我们先看下Ap...

  • GCD之timer源码剖析

    参考:从NSTimer的失效性谈起(二):关于GCD Timer和libdispatch

网友评论

      本文标题:关于NSTimer

      本文链接:https://www.haomeiwen.com/subject/egceektx.html