首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >BlackBerry OS6 WebWorks将ajax请求限制为10,是否存在连接泄漏?

BlackBerry OS6 WebWorks将ajax请求限制为10,是否存在连接泄漏?
EN

Stack Overflow用户
提问于 2012-01-13 13:38:35
回答 1查看 360关注 0票数 1

我正在开发一个使用phonegap和jquerymobile的webworks应用程序。我使用soapclient.js向后端服务器创建soap请求。我们面临超时问题,在详细调查期间,我们注意到第11次ajax请求始终没有得到响应。为了把事情放在正确的位置,我们用相同的调用重复了测试,这样我们就知道特定的请求是有效的。

我们使用低端自创建的xmlhttprequest对象,直到send()调用才会出现错误。第11次呼叫时,只需状态变化侦听器就不会被呼叫。

偶尔,当我们等得够久的时候,这个第11个电话确实在大约5分钟内就被兑现了,这让我相信在BlackBerry浏览器领域存在连接泄漏。

我怀疑有一个限制的10连接(非平行),可以作出。当BB垃圾清除触发器时,它会清除很少的旧连接--等待队列中的新连接将被执行。

更多信息

  1. 我已从服务器日志中验证,在此等待期间,服务器没有收到请求
  2. ,无论我使用的是Wi还是GPRS
  3. ,应用程序都会再次工作,如果关闭并重新打开它,但只到前10次请求

为止。

如果请求通过调用abort()并将其设置为null来传递超时时间,则尝试中止该请求。但即便如此,如果我不等待一段时间,我也无法提出第11次请求。

如果这种行为是随机的,我会相信任何其他原因,比如javascript等待UI线程等等。但是在第11次请求时它是99%的可重现性,我已经多次检查了代码,看看是否有任何变量或计数从应用程序中被告知。警报在.send之前可以正常工作,但回调不会被调用。

现在,我正在尝试创建一个非常简单的应用程序,它可以进行ajax调用,查看此行为是否特定于我的应用程序,还是平台约束,但是如果有人以前有过这样的经验,请与我们分享。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-30 04:40:21

最后,经过一天的挣扎,我们发现这是由于将javascript函数分配给硬件键而发生的。由于我们在不同的jQuery页面下使用不同的菜单项,因此菜单按钮绑定到不同活动上的不同javascript函数,从而导致BB WebWorks应用程序中内存泄漏。当我们将菜单硬件按钮绑定到全局变量并继续替换其赋值,而不是一次又一次地回忆bind时,我们就解决了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8851432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档