В следующем примере, если я объявляю, что AsyncTask android studio выдает предупреждение, чтобы я определил его как статический
Предупреждение Lint является чрезмерно агрессивным.Потребность в том, чтобы он был static
, в основном приходит с действиями и фрагментами.
Конечно, иметь AsyncTask
в Service
, как вы делаете здесь, бессмысленно.Вы почти никогда не хотите что-либо делать в главном потоке приложений в Service
, и смысл AsyncTask
состоит в том, чтобы что-то делать в главном потоке приложений после завершения задачи.Наличие AsyncTask
без onPostUpdate()
является запахом кода и указывает на то, что вам следует использовать что-то еще, например обычный поток.
Также обратите внимание, что хотя AsyncTask
официально не считается устаревшим, его использованиебыл осужден в течение последних нескольких лет.
Но похоже, что поток не должен быть статичным
Он страдает от тех же проблем, что и AsyncTask
,Для него просто нет предупреждения Lint.
Это просто андроид студия, которая не выдает предупреждение
Исправить.