IOS学习笔记44–ASIRequestHttp之BUG(一)

IOS学习笔记44–ASIRequestHttp之BUG(一)


其实这也是无意间看到的,大家看看是不是这么回事

BUG:当下载线程数超过2时,就会影响到主线程响应用户请求的速度了

 

看ASIRequestHttp.m–requestFinished代码

– (void)requestFinished

{

#if DEBUG_REQUEST_STATUS || DEBUG_THROTTLING

ASI_DEBUG_LOG(@”[STATUS] Request finished: %@”,self);

#endif

if ([selferror] || [selfmainRequest]) {

return;

}

if ([selfisPACFileRequest]) {

[selfreportFinished];

}else {

[selfperformSelectorOnMainThread:@selector(reportFinished)withObject:nilwaitUntilDone:[NSThreadisMainThread]];

}

}

你会发现在不使用自动代理脚本时,就会在主线程执行reportFinished。

解决办法:

一:继承ASIRequestHttp重写requestFinished方法;

二:懒人办法,直接修改原来ASIRequestHttp方法;看如下代码

 

– (void)requestFinished

{

#if DEBUG_REQUEST_STATUS || DEBUG_THROTTLING

    NSLog(@”[STATUS] Request finished: %@”,self);

#endif

   if ([selferror] || [selfmainRequest]) {

       return;

    }

    [selfreportFinished];

}

修改完发现至少5个下载线程时也不会影响主线程了,是不是很神奇。


上个原帖地址:http://www.keakon.net/2011/08/05/%E8%AE%A9ASIHTTPRequest%E4%B8%8D%E5%8D%A0%E7%94%A8%E4%B8%BB%E7%BA%BF%E7%A8%8B

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101207.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • PO:如何更新DEV中PO到QAS再到PRD「建议收藏」

    PO:如何更新DEV中PO到QAS再到PRD「建议收藏」1,首先PO中的单个对象最好以文件夹方式存放,这样便于管理和上传,将DEV中需要上传的文件夹导出: 2.勾选第四个: 可以直接将该文件拖拽过来 之后直接FINISH. 3.打开QAS的ESR,将

    2022年6月28日
    35
  • 有关软件设计师的报名问题及答案_软件设计师软考

    有关软件设计师的报名问题及答案_软件设计师软考下面是青岛人才市场的联系地址和电话 青岛市中高级人才市场海尔路178号889166728891667088916679 中国青岛人才大市场山东路171号856329738564389885636580 贵州路人才市场贵州路69号一楼咨询:82685619 城阳人才市场(人才交流中心)城阳正阳路222号87868756 胶南市人才交流服务中心新华路8

    2022年9月6日
    2
  • 基于MQTTnet 3.0.12实现MQTT服务器和客户端「建议收藏」

    基于MQTTnet 3.0.12实现MQTT服务器和客户端「建议收藏」基于MQTTnet3.0.12实现MQTT服务器和客户端概述-可看可不看的废话MQTT是啥MQTTnet正文MQTTServer/Broker实现MQTTServer/Broker创建MQTTServer/Broker发布消息MQTTClient实现MQTTClient创建MQTTClient发布消息MQTTClien订阅消息MQTTClien取消订阅消息概述-可看可不看的废话公司基于制造业客户的数据采集需求,在布局自己的数据中台。现在物联网的概念很火,辣条从业7年来一直号称是“自动化

    2022年6月25日
    31
  • request对象、response对象、session对象

    request对象、response对象、session对象仅仅是一些简单知识点的罗列,当做笔记,想具体学习的话,还是要找专业的书籍看看request对象作用:获取用户提供的信息语法:是实现了ServletRequest接口类的一个实例使用表单向服务器的某个JSP页面提交信息常用方法:设置编码方式:例如(用来防止汉字乱码)request.setCharacterEncoding(“gb2312”);同效果:Stringstr=r…

    2022年6月9日
    28
  • pycharm2021.3激活码破解方法

    pycharm2021.3激活码破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    367
  • Oracle 10g AND Oracle 11g手工建库案例–Oracle 11g「建议收藏」

    Oracle 10g AND Oracle 11g手工建库案例–Oracle 11g

    2022年1月23日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号