Ich entwickle eine Blackberry App mit Cordova / PhoneGap . Ich hole mehrere Bilder (Kartenkacheln) von einem Server. Außerdem sende ich ihm alle 60 Sekunden Positionsinformationen zu.
Aber manchmal, wenn ich Bilder abrufe oder Informationen sende, bekomme ich einen Fehler. Wenn ich auf einem Simulator bin (BB 9930, OS 7.0.0.318), bekomme ich eine AppError 104: Too many threads
Nachricht und meine App stürzt ab. Beim Testen meiner App auf einem Gerät (BB 8520, OS 5.0.0.592) stürzt nicht nur die App ab, sondern auch das BB wird zurückgesetzt.
Ich habe andere Beiträge mit demselben Problem gesehen (wie dieses , dieses oder dieser ). Ich habe jedoch keine Lösung gefunden, wenn ich die App mit Cordova / PhoneGap (JavaScript) erstellt habe.
Danke!
Dies ist möglicherweise nicht verwandt, aber ich hatte ein ähnliches Problem, wenn ich viele Anfragen von einer nativen App auf einem BB Bold gestellt habe. Der Verbindungsthread wurde nach Erhalt der Antwort nicht ordnungsgemäß geschlossen.
versuche folgendes:
Wenn der Server von Ihnen stammt, prüfen Sie, ob Sie die API so ändern, dass alle Bilder als eins zurückgegeben werden, und verwenden Sie beim Anzeigen einen Offset / Clipping. Sie sparen Bandbreite und öffnen weniger Verbindungen. Ihre App wird schneller geladen.
zB: Ссылка
Ich bezweifle, dass die phoneGap API dies verursacht, da es sich im Grunde um eine Ebene handelt. Möglicherweise haben Sie ein Problem mit dem Simulator?
Da Sie auch mit Blackberry 8520 testen, wird empfohlen, die MAX-Anzahl der gleichzeitig ausgeführten Threads zu einem beliebigen Zeitpunkt in Ihrer Anwendung beizubehalten - weniger als 12
Da Sie Phonegap verwenden, ist es wahrscheinlich, dass es diese Threads für Ihre Anwendung initiiert.
Wenn das Gerät mit Ihrem System verbunden ist, verbinden Sie es mit Blackberry JDE und sehen Sie, welche Threads aktiv sind, um zu analysieren, ob Sie Ihre Aufgaben neu planen können.
Verwenden Sie AJAX, um die Kartenkacheln zu erhalten und den Standort an Ihren Server zu senden?
Wenn Sie AJAX verwenden, können Sie einen Zähler in JavaScript beibehalten, um die Anfragen zu überprüfen.
Wenn Sie WebWorker ausprobiert haben, können Sie sie auch innerhalb eines einzelnen Threads selbst ausführen.
Wenn alles fehlschlägt, können Sie auch Ihr benutzerdefiniertes Phonegap-Plugin entwickeln, um ähnliche Dinge mit einer Java Script-API zu tun.
Tags und Links javascript cordova multithreading blackberry blackberry-webworks