11

我正在使用Cordova/PhoneGap开发一个黑莓应用程序。我正在从服务器获取几个图像(地图图块)。此外,我每 60 秒向它发送一次位置信息。

但是,时不时地,当我获取图像或发送信息时,我会收到错误消息。如果我在模拟器上(BB 9930,OS 7.0.0.318),我会收到一条AppError 104: Too many threads消息并且我的应用程序崩溃。当我在设备(BB 8520,OS 5.0.0.592)上测试我的应用程序时,不仅应用程序崩溃,而且使 BB 重置。

我看过其他有同样问题的帖子(比如这个这个这个)。但是,在使用 Cordova/PhoneGap (JavaScript) 构建应用程序时,我还没有找到解决方案。

谢谢!

4

3 回答 3

0

我怀疑 phoneGap API 是否会导致这种情况,因为它基本上是一个层。可能你的模拟器有问题?

于 2012-09-24T19:21:28.063 回答
0

由于您还在 Blackberry 8520 上进行测试,因此建议您在应用程序的任何时间点保持 MAX 线程数 - 同时运行 -小于 12

由于您使用的是 Phonegap,因此它可能正在为您的应用程序启动这些线程。

如果设备已连接到您的系统,请将其连接到 Blackberry JDE 并查看哪些线程处于活动状态以分析您是否可以重新安排任务。

您是否使用 AJAX 来获取地图图块并将位置发送到您的服务器?

如果您使用的是 AJAX,那么您可以在 JavaScript 中保留一个计数器来检查请求。

此外,您是否尝试过WebWorkers,它们将使您能够在单个线程本身内完成所有这些工作。

如果一切都失败了,您还可以开发自定义 Phonegap 插件以使用 Java Script 接口 API 执行类似的操作。

于 2014-12-04T16:34:09.973 回答
0

这可能不相关,但是当我在 BB Bold 上从本机应用程序发出大量请求时,我确实遇到了类似的问题。收到回复后连接线程没有正常关闭。

尝试以下操作:

  • 更改 GET <-> POST。
  • 更改 HTTP <-> HTTPS。

如果服务器是您的,请评估更改 API 以将所有图像作为一个返回,并在显示它们时使用偏移/剪辑。您将节省带宽并打开更少的连接。您的应用会加载得更快。

例如: http ://www.ibloomstudios.com/articles/misunderstood_css_clip/

于 2012-06-16T23:07:25.107 回答