定时器的使用问题
来源:互联网 发布:java 枚举 继承 编辑:程序博客网 时间:2024/06/11 20:33
第一个定时器是banner图的定时器,第二个定时器是在300秒后重新请求banner图的定时器,这两个定时器使用过程中需要注意的是,当打开第二个定时器时,需要先清空banner图的数据,然后关闭banner图的定时器,最后才去请求banner的接口。代码如下:
//关闭定时器 _bannerTime = [NSTimer scheduledTimerWithTimeInterval:300 target:self selector:@selector(timeUpdate) userInfo:nil repeats:YES];
- (void)timeUpdate{ [_scrollArray removeAllObjects]; //[self.collectionView reloadData]; //关闭定时器 [self.timer invalidate]; [self requestBannerList];}还有一点是非常重要的是要记得去销毁定时器, 原来是在- (void)delloc去销毁定时器,但是发现在整个程序退出后发现控制器没有销毁,是因为定时器还留在控制器当中,主要是由于在退出程序后,程序没有收到销毁定时器的信息,会默认认为定时器留在控制器当中,这会造成程序重新启动后,定时器会连接启动两次,会有卡顿的问题,处理的办法是用通知来通知程序定时器已经销毁。
代码如下:
//定时器取消通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(invalidateTimer) name:kNotificationInvalidateTimer object:nil];
-(void)invalidateTimer{ [self.timer invalidate]; //取消定时器 [_bannerTime invalidate];}- (void)dealloc{ [[NSNotificationCenter defaultCenter] removeObserver:self name:kNotificationInvalidateTimer object:nil]; [self invalidateTimer]; NSLog(@"销毁%s",__FUNCTION__);}
0 0
- 定时器的使用问题
- 使用高级定时器,定时器1遇到的问题
- 关于libevent定时器使用注意的问题
- js中定时器使用的小问题
- 关于quartz定时器的使用和复用的问题
- 定时器的精度问题
- linux 定时器的问题
- 定时器的计算问题
- js的定时器问题
- Android 定时器的问题
- 使用定时器解决对象事件中自释放的问题
- 51单片机的定时器0和串口同时使用问题
- 线程互斥锁的问题(线程中使用定时器信号)
- android 定时器 Timer 使用 及其遇到的问题
- 解决Qt使用定时器播放视频过快的问题
- 使用springboot时,@Scheduled定时器遇到的问题
- recyclerView列表使用Timer定时器复用错乱的问题
- 定时器的使用
- 网站建设----域名的(DNS)的解析
- Texture packer命令行加密
- datatable 初始化显示非第一页数据
- OkHttp使用教程
- html 实体标签和媒体标签
- 定时器的使用问题
- Sublime Text3 设置Java开发环境,Javatar
- 四年,工作、辞职、学习
- LEAPMOTION开发UI专题(1)
- 使用Sikuli测试Android应用思路
- Mybatis简单使用
- 负载均衡
- 算法题(1)
- python用post方法,向solr进行删除,更新,插入操作