短时间内连续发请求的问题
2015-10-10 10:49
197 查看
短时间内连续发请求的问题
开发中做搜索常常碰到要做联想的功能 输入框下头根据你的输入出来结果列表,还有开发地图时候拖动地图加载 ,搜索逻辑放主线程会卡,放子线程要cancel之前的,记录下怎么解决。
解决办法
1 ,输入时间间隔内放弃上一次的请求,就是连续快速输入根本不发请求,自己做timer计时时间戳之类的,检测输入间隔。
后来项目中用到ReactiveCocoa, 用它的api可以达到上边效果,throttle > switchToLatest
结果感觉凑合吧 能用。
2. 管理operationqueue,添加operation,在添加前把之前的operation cancel掉:不是简单调用cancel api 要把operation的cancel属性置yes,在处理operation回调的时候判断是否cancel,然后就。。。
结果是每次肯定都会去请求 浪费流量了。。
综上还是1和2 联合起来用比较靠谱~
开发中做搜索常常碰到要做联想的功能 输入框下头根据你的输入出来结果列表,还有开发地图时候拖动地图加载 ,搜索逻辑放主线程会卡,放子线程要cancel之前的,记录下怎么解决。
解决办法
1 ,输入时间间隔内放弃上一次的请求,就是连续快速输入根本不发请求,自己做timer计时时间戳之类的,检测输入间隔。
后来项目中用到ReactiveCocoa, 用它的api可以达到上边效果,throttle > switchToLatest
结果感觉凑合吧 能用。
2. 管理operationqueue,添加operation,在添加前把之前的operation cancel掉:不是简单调用cancel api 要把operation的cancel属性置yes,在处理operation回调的时候判断是否cancel,然后就。。。
结果是每次肯定都会去请求 浪费流量了。。
综上还是1和2 联合起来用比较靠谱~
相关文章推荐
- VC++程序如何判定SQL Server的字段是自增长的?
- Alsa是Linux高级音频接口(百度文库无下载券抄来的)
- Oracle NoLogging Append 方式减少批量insert的redo_size
- java 基础第一季
- linux下实时查看tomcat运行日志
- 【转】关于c#中委托的解释
- 史上最经典的Linux内核学习方法论
- iOS NSString 过滤非法字符串
- Linux内核驱动fsync机制实现图解
- Win10如何查看和设置电脑分辨率?
- 并发和并行
- linux中container_of(ptr, type, member)
- operator new / operator delete等的重载
- 电影票api 电影信息查询调用代码返回示例
- 反汇编代码格式
- 对u-boot中的".balignl 16,0xdeadbeef"的理解
- Tftp服务器_NFS服务器_Samba服务
- SRAM、DRAM;SDRAM、DDRSDRAM(DDR)、RDRAM;SARAM、DARAM的区别
- NAND Flash和NOR Flash的区别
- ELF文件和BIN文件