8

Pracuję nad aplikacją Blackberry przy użyciu Cordova/PhoneGap. Pobieram kilka obrazów (kafelków mapy) z serwera. Ponadto co 60 sekund wysyłam do niego informacje o pozycji.Zbyt wiele wątków w Blackberry za pomocą Phonegap/WebWorks

Jednak od czasu do czasu, gdy pobierasz obrazy lub przesyłam informacje, pojawia się błąd. Jeśli jestem na symulatorze (BB 9930, OS 7.0.0.318), otrzymuję komunikat AppError 104: Too many threads i moja aplikacja ulega awarii. Kiedy testuję swoją aplikację na urządzeniu (BB 8520, OS 5.0.0.592), aplikacja nie tylko ulega awarii, ale powoduje zresetowanie BB.

Widziałem inne posty z tym samym problemem (jak this one, this one lub this one). Jednak nie znalazłem rozwiązania podczas budowania aplikacji za pomocą Cordova/PhoneGap (JavaScript).

Dzięki!

+0

Czy możesz pokazać (najlepiej kodu) sposób zarządzania wątkami. – Brady

+0

Problem polega na tym, że nie można zarządzać wątkami. Kod z phonegapem zwykle znajduje się w prostym javascript/html. –

Odpowiedz

0

To może nie być związane, ale miałem podobny problem, gdy wykonuję wiele żądań z natywnej aplikacji na BB Bold. Wątek połączenia nie został poprawnie zamknięty po otrzymaniu odpowiedzi.

spróbuj wykonać następujące czynności:

  • zmiana GET < -> POST.
  • zmiana HTTP < -> HTTPS.

jeśli serwer należy do Ciebie, oceń zmianę interfejsu API w celu zwrócenia wszystkich obrazów jako jednego i użyj przesunięcia/wycięcia podczas ich wyświetlania. Zaoszczędzisz przepustowość i otworzysz mniej połączeń. Twoja aplikacja ładuje się szybciej.

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

0

I wątpić czy API PhoneGap jest przyczyną tego, jak to jest w zasadzie warstwy. Być może masz problem z symulatorem?

0

Ponieważ są również badania na Blackberry 8520, zaleca się zachowanie maksymalnej liczby wątków - prowadzenie concurrently- w dowolnym momencie w aplikacji - mniej niż 12

Ponieważ używasz Phonegap, są szanse, że może zainicjować te wątki dla twojej aplikacji.

Jeśli urządzenie jest podłączone do systemu, podłącz je do urządzenia Blackberry JDE i zobacz, które wątki są aktywne, aby przeanalizować, czy możesz przełożyć swoje zadania.

Czy używasz AJAX do pobierania kafelków mapy i wysyłania lokalizacji na serwer?

Jeśli korzystasz z AJAX, możesz zachować licznik w JavaScript, aby kontrolować żądania.

Próbowałeś również wykonać jedną z następujących czynności: WebWorkers.

Jeśli wszystko zawiedzie, możesz również rozwinąć niestandardową wtyczkę Phonegap, aby robić podobne rzeczy za pomocą interfejsu API interfejsu JavaScript.

Powiązane problemy