IBM Worklight 6.0 — прямое обновление приводит к зависанию индикатора занятости

У меня есть простое приложение Worklight V6 (без настроек, кроме connectOnStartup, установленного на true) со средой Android.

Я запускаю приложение на своем эмуляторе Android, вношу тривиальное изменение в HTML и повторно развертываю, а затем перезапускаю приложение на эмуляторе.

Он замечает, что у приложения есть обновление, я нажимаю «Обновить», обновление происходит, и я вижу на экране, что приложение теперь работает с последним HTML.

Проблема в том, что перед приложением есть индикатор занятости, который никогда не исчезает. Я должен убить приложение и перезапустить его, чтобы получить доступ к приложению.

Кажется, это происходит постоянно на Android 4.3 и периодически на 4.1.2.

Есть ли какой-нибудь код, который я могу добавить в инициализацию моего приложения, чтобы убить индикатор занятости?


person David Dhuyveter    schedule 26.09.2013    source источник


Ответы (2)


Это кажется результатом использования эмулятора Android, настроенного на использование хост-графического процессора. Перенастройка эмулятора таким образом, чтобы он не использовал хост-ГП, либо устраняет проблему, либо изменяет синхронизацию настолько, что ее возникновение маловероятно.

person David Dhuyveter    schedule 14.03.2014

Я не уверен, какую версию Worklight "v6" вы используете, Дэвид, но при тестировании Worklight 6.0.0.20130926 (= 6.0.0.1/6.0 Fixpack 1) я создал новый проект и приложение со средой Android и connectOnStartup:true, запускался в эмуляторе Android (Android 4.3) и вызывал прямое обновление.

В итоге - нет застрявшего индикатора занятости...

Кроме того, насколько мне известно, у вас нет возможности переопределить индикатор занятости фреймворка, который происходит при запуске, кроме как установить для приложения значение connectOnStartup:false, а затем, например, вызвать запрос процедуры адаптера и самостоятельно обработать busy.show/hide() в приложении. код уровня.

Попробуйте с 6.0.0.1 и выше; Все должно быть в порядке.

person Idan Adar    schedule 10.01.2014
comment
Я только что убедился, что все еще вижу это в Worklight 6.1. Я создал новый Android 4.3 AVD (используя процессор Intel/Atom). Я создал новое приложение Worklight 6.1 и изменил значение параметра connectonstartup на true. Я запустил приложение на эмуляторе, обновил приложение в eclipse и повторно развернул его, перезапустил приложение на эмуляторе и… застрял индикатор занятости. Просто для улыбки я попробовал это в Android 4.4 AVD (ARM CPU). Тот же результат. - person David Dhuyveter; 10.01.2014
comment
Дальнейшее тестирование, и это, похоже, связано с тем, что AVD настроен на использование хост-графического процессора. Я не могу воспроизвести проблему, если сниму этот флажок в редакторе AVD. Похоже, что эта функция эмулятора сломана (или, по крайней мере, согнута). Жаль, потому что это один из приемов, позволяющих сделать эмулятор менее мучительно медленным. В любом случае, это похоже не столько на проблему с Worklight, сколько на проблему с эмулятором Android. - person David Dhuyveter; 10.01.2014
comment
@DavidDhuyveter, мы можем решить это в любом случае? можешь написать ответ? - person Idan Adar; 14.03.2014