1.NSTimer 存在一定的误差,不管是一次性的还是周期性的timer得实际触发事件的时间,都会与所加入的runloop和runloopMode有关,如果此runloop正在执行一个连续性的运算,timer就会被延时触发。 2.CADisplayLink CADisplayLink是一个能让我们以 ...
分类:
移动开发 时间:
2018-12-11 15:56:30
阅读次数:
299
Retain Cycle,Block强引用 NSTimer释放不当 第三方提供方法造成的内存泄漏 CoreFoundation方式申请的内存,忘记释放 1. Block引用内存泄漏问题: 利用__weak防止Block循环引用方法: 2. Timer不被释放引起的内存泄漏: 常规的监测方法 Anal ...
分类:
移动开发 时间:
2018-11-19 20:19:40
阅读次数:
267
如果打回来了,就自认倒霉吧 制作无声音频。 @interface AppDelegate () { NSInteger count; } @property(strong, nonatomic)NSTimer *mTimer; @property(assign, nonatomic)UIBackgr ...
分类:
移动开发 时间:
2018-05-10 14:24:51
阅读次数:
264
一、循环引用 1)NSTimer会持有target对象 二、runloop ...
分类:
其他好文 时间:
2018-05-08 22:32:03
阅读次数:
198
本文列举了四种延时执行某函数的方法及其一些区别。假如延时1秒时间执行下面的方法。 1.performSelector方法 2.定时器:NSTimer 3. sleep方式 4.GCD方式 1. 延时方法一(使用NSRunLoop类中的方法实现延迟执行,,常用,,performSelector必须在主 ...
分类:
移动开发 时间:
2018-04-18 23:36:07
阅读次数:
260
https://github.com/zzf073/runloopDemo /** * 调度例程 * 当将输入源安装到run loop后,调用这个协调调度例程,将源注册到客户端(可以理解为其他线程) * */ void RunLoopSourceScheduleRoutine (void *info ...
分类:
其他好文 时间:
2018-04-18 18:56:08
阅读次数:
168
自欺欺人的使用 NSTimer 销毁 "Demo地址" 1.NSTimer是要加到runloop中才会起作用。 常见的创建timer方式 第一种缺陷如果当前线程就是主线程,也就是UI线程时,某些UI事件,比如UIScrollView的拖动操作,会将Run Loop切换成 模式,在这个过程中,默认的 ...
分类:
其他好文 时间:
2018-04-16 23:48:42
阅读次数:
1638
- (void)viewDidLoad { [super viewDidLoad]; // 通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(notification:) name:nil obj... ...
分类:
移动开发 时间:
2018-04-13 17:52:48
阅读次数:
228