8

Cordova/PhoneGapを使用してBlackberryアプリを開発しています。私はいくつかの画像(地図タイル)をサーバから取得しています。また、60秒ごとに位置情報を送信します。Phonegap/WebWorksを使用しているBlackberryのスレッドが多すぎます

ただし、画像を取得したり情報を送信したりするたびにエラーが発生します。シミュレータ(BB 9930、OS 7.0.0.318)を使用している場合、AppError 104: Too many threadsというメッセージが表示され、アプリケーションがクラッシュします。デバイス(BB 8520、OS 5.0.0.592)で自分のアプリケーションをテストすると、アプリケーションがクラッシュするだけでなく、BBがリセットされます。

同じ問題(this one,this onethis oneなど)のある他の投稿を見ました。しかし、Cordova/PhoneGap(JavaScript)を使用してアプリケーションを構築する際の解決策は見つかりませんでした。

ありがとうございます!

+0

スレッドをどのように管理しているかを(できればコードして)表示できますか? – Brady

+0

問題は、スレッドを管理できないことです。 phonegapのコードは、普通はjavascript/htmlになっています。 –

答えて

0

これは関連していない可能性がありますが、BB Boldのネイティブアプリから多くのリクエストを行っても同様の問題がありました。応答を受け取った後、接続スレッドが正しく閉じられませんでした。

は、次の試してみてください。

  • 変更< GET - > POSTを。
  • 変更HTTP < - > HTTPS。

サーバがあなたのものなら、すべての画像を1つに戻すようにAPIを変更し、それらを表示するときにオフセット/クリッピングを使用するように評価してください。帯域幅を節約し、接続を少なくします。あなたのアプリはより速く読み込まれます。

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

0

それは基本的に層であるとして、PhoneGapのAPIはこれを引き起こしている場合、私は疑問です。おそらくあなたはシミュレータに問題がありますか?

0

あなたもブラックベリー8520上でテストしているので、あなたがスレッドの最大数を維持することをお勧めします - あなたが使用しているので12

より少ない - アプリケーション内の任意の時点でconcurrently-を実行していますPhonegap、あなたのアプリケーションのスレッドを開始している可能性があります。

デバイスがシステムに接続されている場合は、デバイスをBlackberry JDEに接続し、タスクを再スケジュールできるかどうかを分析するためにアクティブなスレッドを確認します。

マップタイルを取得してサーバーに送信するにはAJAXを使用していますか?

AJAXを使用している場合は、JavaScriptでカウンタを保持してリクエストを確認することができます。

また、WebWorkersを試してみましたが、1つのスレッド内ですべてを実行できるようになりました。

すべて失敗した場合は、独自のPhonegapプラグインを開発して、Java ScriptインターフェイスAPIで同様のことを行うこともできます。

関連する問題