В моем приложении для Android у меня есть класс, который расширяет Thread
, который работает, когда есть установленное интернет-соединение (3G/WIFI).Правильный способ завершения экземпляра класса?
Когда приложение загружается, если подключение к Интернету установлено, я создаю экземпляр класса, как это:
MyThread thread = new MyThread(); // (it calls its own start() method)
В потоке, если соединение потеряно, я хочу уничтожить Thread
. Мне сказали не запускать finalize()
, как бы я его уничтожил, так что thread == null
правда?
Edit: Причина, я спрашивал был, позже, я хотел бы, чтобы перезапустить поток, в случае подключения возвращается, и проверьте, чтобы увидеть, если (thread == null)
было бы легко. Я мог бы просто использовать флаг, чтобы указать, что поток нужно перезапустить или проверить, не было ли оно прервано. Спасибо за полезные комментарии.
Просто вернетесь из потока, сборщик мусора будет заботиться о нем – GETah
, когда теряется связь, вызов 'прерывания()' на вашем Thread. – Sajmon
создайте флаг и установите его в true, когда ваш поток запущен. Если вы хотите остановить, просто установите для него значение false. Таким образом, вы можете быть уверены, что поток не будет продолжать работать в фоновом режиме. оставить его для сборщика мусора. – Orlymee