Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблема с потоками в samsung 
:(
    Опции темы
Pawl
Дата 27.3.2011, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 649
Регистрация: 22.4.2008
Где: Витебск

Репутация: нет
Всего: 28



Доброго времени суток!
В этом разделе я как-то разместил свой игровой мидлет "Гомоку" и сам потом нашел баг, который не знаю как исправить. На самсунге при использовании в игре подсказки, она (игра) вылетает, если нажать "меню" после победы (неважно чьей). Во время же игры меню работает нормально. На других телефонах (соньке и нокиа) такой баг замечен не был. Подсказка у меня работает так: есть внутренний класс - наследник Thread. В игре создается новый поток, который при вызове подсказки в нужном месте высвечивает мигающий крестик (или нолик). Во внешнем классе - наследнике Canvas есть логическое поле hlp. Когда подсказка вызвана, оно становится true и подсказка мигает, когда ход сделан, оно становится false. Для наглядности приведу код внутреннего класса. Может, я как-то не так организовал работу с потоком?
Код

    private class Anime extends Thread {
        public void run() {
            while(hlp) {
                imgInd++;
                imgInd %= 2;
                    try {
                        Thread.sleep(333);
                    } catch (InterruptedException e){}
                repaint();
            }
        }
    }

Еще раз повторю, что проблема замечена только на Samsung.


--------------------
В действительности всё совсем не так, как на самом деле
PM MAIL   Вверх
PiyodaiSiyo
Дата 28.3.2011, 00:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 31.12.2009

Репутация: 1
Всего: 2



Предлагаю рассмотреть нажатие и отпускание клавиши. Скорее всего проблема там. скажем создать некую логическую переменную(фолс) и после нажатия в кийпрессд на тру, мнгновение выждать слипом, а потом быстро поменять значение(опять фолс).И  кийрилизд не использовать.
Я думаю  нажатие клавиши  интерпретируется как многократное. Был " опытик"  smile 
PM MAIL   Вверх
Pawl
Дата 29.3.2011, 07:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 649
Регистрация: 22.4.2008
Где: Витебск

Репутация: нет
Всего: 28



Цитата(PiyodaiSiyo @  28.3.2011,  00:38 Найти цитируемый пост)
Предлагаю рассмотреть нажатие и отпускание клавиши.

Спасибо, попробую


--------------------
В действительности всё совсем не так, как на самом деле
PM MAIL   Вверх
Pawl
Дата 29.3.2011, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 649
Регистрация: 22.4.2008
Где: Витебск

Репутация: нет
Всего: 28



Не помогло...
Дело в том, что меню у меня вызывается не в методе keypressed, а в методе commandAction


--------------------
В действительности всё совсем не так, как на самом деле
PM MAIL   Вверх
oxigen
Дата 29.3.2011, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 12.4.2010

Репутация: 4
Всего: 4



А с какой ошибкой, то падает?
PM MAIL   Вверх
PiyodaiSiyo
Дата 29.3.2011, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 31.12.2009

Репутация: 1
Всего: 2



можно отловить этот баг в эмуле. Выставь маленькие промежутки в слипах и следи в аутпуте когда жмешь по командам, думаю обязательно выскочит. А потом дебагером или  систем.аут.принтлном
PM MAIL   Вверх
Pawl
Дата 31.3.2011, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 649
Регистрация: 22.4.2008
Где: Витебск

Репутация: нет
Всего: 28



Цитата

А с какой ошибкой, то падает?

Ни с какой ошибкой, просто вместо выхода в главное меню выходит вообще из игры.
Цитата

можно отловить этот баг в эмуле

к сожалению, у меня нет эмулятора новых самсунгов, а на встроенном эмуляторе NetBeans 6.9 все работает нормально (как и на эмуляторе Nokia, Wireless и пр.)


--------------------
В действительности всё совсем не так, как на самом деле
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0451 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.