ios – purgeIdleCellConnections:找到一个来清除conn = 0x1ddde360

前端之家收集整理的这篇文章主要介绍了ios – purgeIdleCellConnections:找到一个来清除conn = 0x1ddde360前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我找不到这个问题的正确解决方案.我想有人可以帮我清除这个bug.

概要:
当我使用3G连接在设备上测试我的应用程序时,控制台显示错误“purgeIdleCellConnections:找到一个以清除conn = 0x1ddde360”一次以上时,会发生不同的数字(0x1ddde360或0x21b98a60或..) ..).有时它挂起,应用程序崩溃死亡.我无法打开应用程序我必须删除并重新生成.当我使用Wi-Fi它工作正常:没有任何问题.

实际结果:
我在我的应用程序中使用Web服务(WSDL).在启动应用程序本身时,我打电话给多个Web服务.这个应用程序已经在App Store(Promayarnlite)中,但该文件是使用IOS 5.1 SDK构建的,所以它工作正常.现在我将Xcode更新为4.5.1和IOS 6 SDK,所以我想在App Store中更新我的应用程序.我正在努力与这部分.

编辑:A:内部NSURLConnection维护一个连接缓存.每个缓存条目表示一组到主机的持久HTTP连接.当新的请求进入时,它在缓存中的条目上排队.这可能是现有条目,也可能是新条目,并且还可能会在该条目内生成新的HTTP连接,具体取决于各种复杂因素(保护空间,认证状态(在认证方法的情况下) – 是,我在看你,NTLM! – 有状态的,流水线,各种缓存限制等).当与缓存条目关联的连接完成其所有请求的运行时,它会在缓存条目的队列上查找更多的工作;如果没有找到任何连接空闲.如果连接空闲时间过长,则会清除连接(关闭底层TCP连接).

iOS 6中的这种缓存实现已经改变.在iOS 6之前,有一种清除空闲缓存条目的机制,Mac OS X和iOS的超时时间(30秒,6秒,iOS值可能低至旧版iOS上3秒).在iOS 6中,现在有两种清除空闲缓存条目的机制,一种适用于在WWAN上运行的连接,另一种适用于所有其他连接. WWAN超时已经恢复到传统的值(3秒),而所有其他连接超时已经被触发到旧的Mac OS X默认值(30秒).

当您清除WWAN连接时,会生成您看到的日志消息. iOS 5.x中不存在此日志消息,这就解释了您在测试中看不到的原因.然而,在所有版本的iOS上,基本机制以一种或另一种形式存在.

这个消息更可能是一个症状,而不是一个原因.具体来说,该消息仅适用于空闲连接;这只是NSURLConnection清理持久的HTTP连接,没有任何有用的东西.如果您的网络出现问题,您需要调查连接正在闲置的原因.

解决方法

在使用AdMob中介SDK时,在运行iOS 6.0.1(iPhone 3GS)的设备上看到.应用程序本身连接到服务器100(下一个服务器API可以解决这个问题),但这些控制台日志消息才在AdMob连接激活后开始显示. 3G和Wifi(10M连接).

最好的猜测是,iOS在两种不同的网络图书馆–AdMob在这种情况下网络呼叫并不乐观,但我猜想这可能是什么.只是一个巧合

有时应用程序完全卡住,有时候没有明显的问题.会喜欢解决这个问题,但到目前为止还没有找到任何东西…

猜你在找的iOS相关文章