我正在使用Cordova/PhoneGap开发Blackberry应用。我从服务器获取几个图像(地图图块)。此外,每60秒我发送一次位置信息。
然而,我不时地在获取图像或发送信息时,都会收到错误。如果我在模拟器上(BB 9930,OS 7.0.0.318),我收到一条AppError 104: Too many threads
消息,我的应用程序崩溃了。当我在设备上测试我的应用程序(BB 8520,OS 5.0.0.592)时,不仅应用程序崩溃,而且还会重置BB。
我看过其他帖子有同样的问题(例如this one,this one或this one)。但是,在使用Cordova / PhoneGap(JavaScript)构建应用程序时,我还没有找到解决方案。
谢谢!
答案 0 :(得分:0)
这可能没有关系,但是当我在BB Bold上从本机应用程序做很多请求时,我确实遇到了类似的问题。收到答案后,连接线程未正确关闭。
尝试以下方法:
如果服务器是您的,请评估更改API以将所有图像作为一个返回,并在显示时使用偏移/剪裁。您将节省带宽并减少连接。你的应用会加载更快。
例如: http://www.ibloomstudios.com/articles/misunderstood_css_clip/
答案 1 :(得分:0)
我怀疑phoneGap API是否导致了这一点,因为它基本上是一个层。可能你的模拟器有问题吗?
答案 2 :(得分:0)
由于您还在Blackberry 8520上进行测试,因此建议您在应用程序的任何时间点保持最大线程数 - 同时运行 - 小于12
由于您使用的是Phonegap,因此可能会为您的应用程序启动这些线程。
如果设备已连接到您的系统,请将其连接到Blackberry JDE并查看哪些线程处于活动状态以分析您是否可以重新安排任务。
您是否使用AJAX获取地图图块并将位置发送到服务器?
如果您使用的是AJAX,那么您可以在JavaScript中保留一个计数器来检查请求。
此外,您是否尝试过 WebWorkers ,它们可以让您在单个线程中完成所有这些操作。
如果全部失败,您还可以开发自定义Phonegap插件,以便使用Java Script接口API执行类似操作。