Медленна ли команда ответа на iOS?

Я написал приложение, которое использует команду answer. Кажется, это работает хорошо, пока не будет развернуто на iPad или симуляторе, где есть заметная задержка, когда я выбираю любой из ответов на ответ.

Я использую Livecode версии 6.5.1 и развертываю на iOS 7.

мой код говорит:

    answer question "Hooray !!! you have finished..." with "Play again" or "go back" titled "Game over"
    go card "Category Page"

существует заметная задержка между ответом на приглашение answer question и отображением следующей карточки. Если я вынимаю формулировку ответа, то сразу отображается следующая карточка.

(PS Я понимаю, что этот код не показывает, какое действие следует предпринять для каждой опции — я прокомментировал это на данный момент, чтобы попытаться изолировать проблему)


person cen    schedule 04.02.2014    source источник
comment
Пожалуйста, приведите пример вашего кода   -  person eebbesen    schedule 05.02.2014


Ответы (2)


Это не должно быть медленным. Если проблема не исчезнет, ​​я сообщу об этом как об ошибке. Версия 6.5.2 была выпущена несколько дней назад, поэтому сначала попробуйте ее:

http://downloads.livecode.com/livecode/

Если проблема не устранена, сообщите о ней здесь:

http://quality.runrev.com

person Benjamin Beaumont    schedule 05.02.2014

По моему опыту, команда ответа не медленная на мобильных устройствах. Пока единственным устройством, которое вызвало у меня серьезные проблемы с командой ответа, был Sony Vaio, если команде ответа предшествует звуковой сигнал.

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

Быстрый тест, чтобы проверить это

on someHandler // openCard or whatever this may be in your own script
  answer question "Hooray !!! you have finished..." with "Play again" or "go back" titled "Game over"
  lock messages
  go card "Category Page"
  unlock messages
end someHandler

Если ваш обработчик запускается с экрана блокировки, следующая карта не будет вытягиваться до тех пор, пока обработчик не завершит работу. Например.

on someHandler
  lock screen
  answer "something"
  go next cd
  // do a lot of stuff here
end someHandler

может вызвать длительную задержку.

Кроме того, переход к карточке сразу после выполнения команды ответа без использования, например. get the result или оператор if могут иногда вызывать проблемы. У меня были случаи, когда скрипт продолжал работать до конца обработчика, пока окно ответа было на экране.

Другая проблема может заключаться в том, что вы на самом деле переходите к карте другого стека или запускаете синтаксис в (пред)OpenCard, (пре)OpenStack или другом (пред)Open* обработчике. Если вы сделаете это, карта может не отображаться до тех пор, пока обработчик (pre)Open* не завершит работу. Вы можете решить это с помощью конструкции типа

on openStack
  send "initiateStack" to me in 0 millisecs
end openStack

on initiateStack
  // put everything here that doesn't need to be
  // done before the card is visible, e.g. setting
  // fields and checkboxes on other cards, reading
  // user preferences etc.
end initiateStack

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

person Mark    schedule 05.02.2014