Проблемы с повторным запуском мидлета на эмуляторе WTK
На реальном железе проблем нет. Но вот на этом эмуле из WTK:
Цитата:
Советы выкинуть эмуль WTK приветствуются. Только расскажите чем его лучше заменить. По идее, хороший девелоперский эмуль Java ME должен сам показывать такие вещи как утечка ресурсов, особенно критичная для повторной работы мидлета. Могу не париться и забить, тем более что на реальных телефонах разных моделей проблем с повторным запуском нет. Если вас заинтересовала эта проблема и хочется докопаться до сути, то вот ссылка на сам мидлет. Спасибо! |
Ответ: Проблемы с повторным запуском мидлета на эмуляторе WTK
Скорее всего проблема со сменой состояний мидлета:
startApp() destroyApp(boolean unconditional) Метод startApp() вызывается как при запуске приложения, так и при восстановлении из свёрнутого состояния (которое при сворачивании или входящем вызове, если телефон это поддерживает). Мои методы выглядят всегда примерно так: Код:
public void startApp() { |
Ответ: Проблемы с повторным запуском мидлета на эмуляторе WTK
Жека, подобный код есть и в моём мидлете.
Код:
PROCEDURE (midlet: Midlet) startApp* ; Да и пишу я на Компонентном Паскале, а не на Java. Так что исследования продолжаю. Пока что выяснил только то, что startApp вызывается лишь один раз. |
Ответ: Проблемы с повторным запуском мидлета на эмуляторе WTK
Понятно. В этом паскале есть метод типа notifyDestroyed(); который бы сообщал телефону о необходимости убить приложение? Реальные мобилки, я полагаю, сами вызывают его при отсутствии.
Работа с потоками - это отдельная тема. В телефонах тоже многопоточность бывает не ахти, наверное потому что слабенькие железки там. Например, в отдельном потоке грузишь что-то по http, и у тебя интерфейс тормозить начинает. Может это только с сетью связано, не тестировал. |
Часовой пояс GMT +4, время: 03:18. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot