API AsyncTask устарел в Android 11. Каковы альтернативы?JAVA

Программисты JAVA общаются здесь
Anonymous
API AsyncTask устарел в Android 11. Каковы альтернативы?

Сообщение Anonymous »

Google объявляет устаревшим Android AsyncTask API в Android 11 и предлагает вместо него использовать java.util.concurrent. вы можете проверить коммит здесь

Код: Выделить всё

 *
* @deprecated Use the standard java.util.concurrent
or
*
* Kotlin concurrency utilities
instead.
*/
@Deprecated
public abstract class AsyncTask
{

Если вы поддерживаете старую кодовую базу с асинхронными задачами в Android, вам, вероятно, придется изменить ее в будущем. Мой вопрос заключается в том, что должна быть правильной заменой фрагмента кода, показанного ниже, с использованием java.util.concurrent. Это статический внутренний класс Activity. Я ищу что-то, что будет работать с minSdkVersion 16
private static class LongRunningTask extends AsyncTask {
private static final String TAG = MyActivity.LongRunningTask.class.getSimpleName();
private WeakReference activityReference;

LongRunningTask(MyActivity context) {
activityReference = new WeakReference(context);
}

@Override
protected MyPojo doInBackground(String... params) {
// Some long running task

}

@Override
protected void onPostExecute(MyPojo data) {

MyActivity activity = activityReference.get();
activity.progressBar.setVisibility(View.GONE);
populateData(activity, data) ;
}

}


Подробнее здесь: https://stackoverflow.com/questions/587 ... ternatives

Вернуться в «JAVA»