Показать сообщение отдельно
Старый 07.11.2008, 09:06   #1
Skythrone
ПроЭктировщик
 
Регистрация: 02.07.2008
Сообщений: 105
Написано 7 полезных сообщений
(для 14 пользователей)
Обработка нажатий кнопок

Сделал мидлет. Полностью свой графический интерфейс. Курсор перемещается обычными кнопками. На эмуляторе - всё ОК.

Раскидал мидлет по знакомым - около 50 разных тестеров. И оказалось, что обработка нажатий кнопок очень тормозит.

Как известно, в MP есть два варианта отлова нажатия: GetKeyPressed (для мгновенного нажатия) и GetkeyClicked (для ситуации нажал-отпустил).

Так вот, как показала практика, на подавляющем большинстве телефонов (за исключением самых последних моделей) отлов нажатия очень тормозит! При этом мидлет не делает никаких операций, просто по циклу проверяет наличие нажатой кнопки, и только потом начинает действовать.

В таком виде:

repeat key:=getKeyClicked until key<>0;
реакция на нажатую кнопку происходит через 1.5-2 секунды после самого нажатия.

А в таком виде:

repeat key:=getKeyPressed until key<>0;
нужно вообще давить на кнопку долго и упорно, прежде чем произойдёт реакция.

Телефоны: SE K-700, Nokia 5300 и т.п.

Как быть? Что делать? Что посоветуете?

Может, можно сделать специальную библиотеку для отлова нажатия кнопок более правильным (быстрым) способом ?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
scimitar (07.11.2008)