一、介绍 在iOS中,计时器是比较常用的,用于统计累加数据或者倒计时等,例如手机号获取验证码。计时器大概有那么三种,分别是:NSTimer、CADisplayLink、dispatch_source_t 二、使用 1、NSTimer: 解释: TimerInterval: 执行之前等待的时间。比如设 ...
分类:
移动开发 时间:
2017-03-20 19:22:51
阅读次数:
4267
今天在真机调试的过程中,发现了一个严重的问题,发现CPU的使用率竟然达到了100%,以至于会导致运行内存占用过高,被系统的看门狗机制给杀掉。 下面就讲一讲怎么去定位这个问题: 1.打开Xcode,把项目跑动起来,然后选择这个选项卡 2.现在就可以看到这个画面 3. 现在我们可以看到这个页面,发现我的 ...
分类:
移动开发 时间:
2017-03-19 23:45:17
阅读次数:
660
一:NSTimer和NSRunLoop的关系? 只要出现NSTimer必须要有NSRunLoop,NSTimer必须依赖NSRunLoop才能执行 。NSTimer其实也是一种资源,如果看过多线程编程指引文档的话,我们会发现所有的source如果要起作用,就得加到runloop中去。同理timer这 ...
分类:
其他好文 时间:
2017-03-17 12:08:03
阅读次数:
181
前言: NSTimer会保留其目标对象,如果不加以注意,就会持有保留环,造成内存泄露。 一、 NSTimer保留环介绍 Foundation框架中的NSTimer类,提供了在某个时间执行指定方法的功能,原型如下: target和selector参数表示计时器将在哪个对象上调用哪个方法。repeats ...
分类:
其他好文 时间:
2017-03-03 20:46:20
阅读次数:
235
1.Runloop --运行循环 Runloop能做的事情: 1.让程序一直运行 2.处理触摸事件:(UI交互,闹钟,网络等等) 3.处理渲染事件:(每一次渲染的时候,重新加载所有的屏幕上的点) NSTimer *timer = [NSTimer timerWithTimeInterval:1.0f ...
分类:
其他好文 时间:
2017-02-12 21:21:46
阅读次数:
181
掌握 UIScrollView的常见属性 UIScrollView的常用代理方法 UIScrollView的缩放 UIScrollView和UIPageControl的分页 NSTimer的使用什么是UIScrollView 移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限 , ...
分类:
其他好文 时间:
2017-02-04 18:18:59
阅读次数:
206
一.只调用一次计时器方法: //不重复,只调用一次。timer运行一次就会自动停止运行 myTimer = [NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:@selector(function:) userInfo:n ...
分类:
移动开发 时间:
2017-01-14 12:22:26
阅读次数:
199
在Windows时代,大家肯定对SendMessage,PostMessage,GetMessage有所了解,这些都是windows中的消 息处理函数,那对应在ios中是什么呢,其实就是NSRunloop这个东西。在ios中,所有消息都会被添加到NSRunloop中,分为‘input source’ ...
分类:
移动开发 时间:
2017-01-11 13:58:27
阅读次数:
190
OC中的三种定时器:CADisplayLink、NSTimer、GCD 我们先来看看CADiskplayLink, 点进头文件里面看看, 用注释来说明下 从头文件来看CADisplayLink的使用还是挺简单的, 下面上代码: 代码很简单就不做说明了 需要注意的是CADisplayLink必须要添加 ...
分类:
其他好文 时间:
2017-01-06 12:29:57
阅读次数:
197
前言 之前在开发中有使用到计时器NSTimer,后来了解到iOS中不同的计时方法,其中就包括了CADisplayLink。基于CADisplayLink以屏幕刷新频率同步绘图的特性,尝试根据这点去实现一个可以观察屏幕当前帧数的指示器。 结论在前 根据CADisplayLink所实现的FPS指示器在实 ...
分类:
其他好文 时间:
2016-12-27 09:38:50
阅读次数:
316