Android thread.join () поток принудительно закрывается при повторном запуске приложения - PullRequest
0 голосов
/ 17 августа 2011

У меня проблема с моим приложением. У меня есть SurfaceHolder для рисования на холсте.
В методе SurfaceCreated я вызываю thread.start();
В методе SurfaceDestroyed я вызываю thread.join();
Я запускаю свое приложение и нажимаю клавишу возврата, которая, в свою очередь, вызывает метод surfaceDestroyed.

Проблема в том, что я получаю исключение для уже запущенного потока, когда впоследствии пытаюсь снова запустить приложение. Почему это? Я даже тестирую, чтобы убедиться, что поток уже запущен с использованием isAlive(). Нужно ли заменить строку thread.join на thread.wait?
Если это так, как я могу возобновить поток вместо его повторного запуска в surfaceCreated?

1 Ответ

1 голос
/ 17 августа 2011

Сначала - метод wait не приведет к зависанию потока.
Второе - join ожидает окончания потока.
В-третьих, я хотел бы создать новый поток, а не пытаться запустить тот же.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...