Поведение удаления диалогового окна в IOS, блокировка при повторном входе во второй раз время

#codenameone

Вопрос:

Моя ОС-Windows 10 Pro, IDE: Netbeand 12.2, симулятор последней версии:

Проблема заключается в блокировке диалогового окна при создании второго экземпляра в том же экземпляре формы только для IOS. Симулятор и Андроид ведут себя так, как и ожидалось.

Очень странное поведение. В форме я нажимаю кнопку, чтобы создать экземпляр класса (A1MMASiteMeterReadDialog) диалогового окна типа, я передаю некоторые векторы данных и выполняю задачи. Когда закончим, мы выполним dispose() для этого.

a1SiteMeterReadDialog = новый A1MMASiteMeterReadDialog(страница a1MMAHomePage, res, inc);

Пользователь может повторно ввести этот класс (A1MMASiteMeterReadDialog) несколько раз, если он не выполнил все задачи.

Только в IOS при повторном вводе во второй раз класс выглядит нестабильным, некоторые текстовые поля ведут себя неправильно и не реагируют на список действий, в конечном итоге после еще нескольких операций в этом случае приложение блокируется. Журналы Codename1 и собственные журналы ничего не показывают, никаких признаков возникновения исключения. Придется принудительно остановить приложение и перезапустить его.

Очень странно.

Мне интересно, ведет ли dispose() на IOS себя на IOS иначе, чем на Android или симуляторе. Или IOS содержит ссылку на первый экземпляр класса, и повторное создание экземпляра класса не является чистым и объясняет нестабильное поведение.

Я потратил почти 2 недели на работу над этим и не приблизился к решению. Любые мысли по этому поводу были бы оценены по достоинству?

С уважением

Комментарии:

1. Мне понадобится способ воспроизвести это, чтобы дать лучший ответ. Если вы сможете воспроизвести это в xcode и последовательно запускать его, возможно, найдется определенный собственный стек, который может указать на что-то интересное.

Ответ №1:

dispose() ведет себя одинаково, но ввод текста очень отличается, поэтому возможно, что-то не так в этом смысле. В целом мы рекомендуем избегать ввода текста в Dialog классах, так как это довольно проблематично.