Потоки AsyncTask никогда не умирают

Я использую AsyncTasks для выборки данных в ответ на пользователя, нажимающего кнопку. Это работает хорошо и сохраняет интерфейс быстро реагирующим при выборке данных, но когда я проверил то, что продолжалось в отладчике Eclipse, я узнал что каждый раз новое AsyncTask был создан (который является довольно часто, потому что они могут только использоваться однажды), новый поток создавался, но никогда не завершался.

Результатом является большое количество AsyncTask потоки, просто находящиеся там. Я не уверен, является ли это проблемой на практике или нет, но я действительно хотел бы избавиться от тех дополнительных потоков.

Как я могу уничтожить эти потоки?

112
задан Jonathan Soifer 21 May 2016 в 14:59
поделиться

1 ответ

AsyncTask управляет пулом потоков, созданным с помощью ThreadPoolExecutor . В нем будет от 5 до 128 потоков. Если имеется более 5 потоков, эти дополнительные потоки будут оставаться не более 10 секунд, прежде чем будут удалены. (примечание: эти цифры относятся к видимому в настоящее время открытому исходному коду и зависят от версии Android).

Оставьте, пожалуйста, потоки AsyncTask в покое.

202
ответ дан 24 November 2019 в 02:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: