从 Android API Level 30 开始,AsyncTask 类的默认构造函数已被弃用。相反,您应该使用 executeOnExecutor(Executor, Params...) 方法。以下是如何使用 executeOnExecutor() 方法的示例代码:
public class MyAsyncTask extends AsyncTask
// Use constructor with Executor parameter
public MyAsyncTask() {
super.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
@Override
protected String doInBackground(Void... voids) {
// ...
return "result";
}
// ...
}
在上面的示例中,我们使用 AsyncTask.THREAD_POOL_EXECUTOR 作为执行器来调用 executeOnExecutor() 方法。如果你想使用不同的执行器,可以替换这个参数。
如果您使用的是非静态内部类,则可以简单地将 executeOnExecutor() 方法调用添加到 AsyncTask 的构造函数中。这将确保 AsyncTask 在新的 API 级别上继续按预期工作。
上一篇:Android.NetMAUI中取消令牌不会抛出OperationCanceledException异常。
下一篇:android.os.BadParcelableException: Parcelable协议要求一个名为CREATOR的Parcelable.Creator对象。