Завершаются ли потоки в действии при запуске другого?
У меня есть действие, которое запускает 3 потока, которые делают Цикл "While (true)"
Когда я начинаю новое действие, заканчиваются ли сами эти потоки?
И еще один вопрос, как мне начать новую деятельность, но я не хочу позволять кнопка "назад", чтобы вернуть меня к прежнему занятию - на самом деле я хочу избавиться от первой активности и создать и показать новую
Спасибо Рон
2 ответа:
Когда я начинаю новое действие, заканчиваются ли сами эти потоки?
Нет, они не делают этого.вы должны остановить их, прежде чем закрыть свою деятельность.
Как начать новую деятельность, но я не хочу, чтобы кнопка "Назад" возвращала меня к старой деятельности
Просто вызовите finish () из вашего первого действия, когда вы начинаете второе:
Intent intent = new Intent(...); startActivity(intent); finish();
При приостановке или остановке активности потоки могут быть остановлены не сразу. Лучшая стратегия - иметь флаг, который устанавливается в false, как только вызывается onPause или stop. Потоки проверяют наличие этого флага и прерывают сами себя или выходят из метода run.
Если вы не хотите, чтобы кнопка назад показывала более старую активность, вы можете использовать флаг NO_HISTORY для более старой активности http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_NO_HISTORY
Если вы хотите используйте это действие в качестве первого действия в стеке, используя этот флаг FLAG_ACTIVITY_TASK_ON_HOME