在这里主要介绍三种计时器吧,毕竟用的情况不是很多首先是NSTimer
NSTimer*timer=[NSTimerscheduledTimerWithTimeInterval:1.0target:selfselector:@selector(timeUp)userInfo:nilrepeats:YES];
//解决timer方法延迟调用的情况
[[NSRunLoopmainRunLoop]addTimer:timerforMode:N..
分类:
其他好文 时间:
2015-05-24 19:04:44
阅读次数:
112
在软件开发过程中,我们常常需要在某个时间后执行某个方法,或者是按照某个周期一直执行某个方法。在这个时候,我们就需要用到定时器。在iOS中有很多方法完成定时器的任务,例如 NSTimer、CADisplayLink 和 GCD都可以。一、NSTimer1. 创建方法 NSTimer *timer = ...
分类:
其他好文 时间:
2015-05-22 18:45:21
阅读次数:
14553
在iOS开发中,我们可以通过三种途径来实现定时调用某一个方法的功能。为了简便期间,我直接在Xcode中写代码以及注释。
首先我们定义一个被定时执行的方法
- (void)reloop {
NSLog(@"循环执行");
}
下边我们分别讨论这三种方法
1、使用NSTimer
// 1、使用nstimer创建定时器
// A.自动加入主循环
NSTimer *ti...
分类:
移动开发 时间:
2015-05-19 14:45:20
阅读次数:
137
当一个控制器中有两个scrollview,可以在不用多线程的条件下同时执行
self.timer = [NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(nextImage) userInfo:nil repeats:YES];
[[NSRunLoop currentRunLoop] ad...
分类:
编程语言 时间:
2015-05-16 23:28:14
阅读次数:
536
如果应用6秒内没有响应用户的输入事件,那么,Android会认为该应用无响应,便弹出ANR(ApplicationNo
Response)对话框。
在正常情况下,Android程序会在一条单线程里运行。如果Activity要处理一件比较耗时的工作,应该交给子线程完成,否侧会因为主线程被阻塞,后面的用户输入事件因没能在5秒内响应,导致应用出现ANR对话框。...
分类:
其他好文 时间:
2015-05-16 23:24:13
阅读次数:
169
线程机制的实现:1 用户级线程用户空间创建线程库,内核管理还是进程,不知道线程的切换,线程切核不需要内核态优点:切换快、可移值缺点:内核只分配CPU给进程,所以一个进程中两线程不能同时运行于两处理器上系统调用基于进程,故进程中所有线程也被阻塞2 核心级线程内核管理所有进程、线程,典型的实现线程是wi...
分类:
编程语言 时间:
2015-05-16 23:07:06
阅读次数:
154
上文中说到了HandlerThread,这次我们继续来看一个IntentService。
IntentService是干啥的?
当启动一个Service时,他默认都是运行在主线程的,如果Service将要运行非常耗时或者可能被阻塞的操作时,应用程序将会被挂起,甚至会出现ANR错误。为了避免这一问题,应该在Service中重新启动一个新的线程来进行这些操作。但有一个更好的方法那就是用Intent...
分类:
移动开发 时间:
2015-05-15 15:33:21
阅读次数:
156
NSTimer的使用方法1、初始化,最好用scheduled方式初始化,不然需要手动addTimer:forMode: 将timer添加到一个runloop中。+ (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarg...
分类:
其他好文 时间:
2015-05-15 13:28:34
阅读次数:
121
1 IOSNSTimer线程无法在委托方法之外停止
NSTimer无法在线程的委托方法之外停止。
2 在IOS4.3中添加AdSupport.framework会引起dyld ‘dyld_fatal_error
将库引用参数设置为可选即可解决。
3 Failed to get the task for process xxx
证书问题,pr...
分类:
移动开发 时间:
2015-05-15 10:48:48
阅读次数:
352
1.IO操作其实分成了两个步骤:发起IO请求和实际的IO操作
2.阻塞IO和非阻塞IO的区别在于第一步,发起IO请求是否会被阻塞,如果阻塞直到完成那么就是传统的阻塞IO,如果不阻塞,那么就是非阻塞IO。
3.同步IO和异步IO的区别就在于第二个步骤是否阻塞,如果实际的IO读写阻塞请求进程,那么就是同步IO,因此阻塞IO、非阻塞IO、IO服用、信号驱动IO都是同步IO,如果不阻塞,而是操...
分类:
其他好文 时间:
2015-05-12 17:15:09
阅读次数:
167