সম্পাদনা : এই প্রশ্নটি সদৃশ নয়
- দু'দিন আগেই এওএসপি অবমূল্যায়নের প্রতিশ্রুতিবদ্ধ হয়েছিল।
- অন্য প্রশ্নটি AsyncTaskLoader AsyncTask এর মাধ্যমে ব্যবহার সম্পর্কে।
গুগল অ্যান্ড্রয়েড 11 এ অ্যান্ড্রয়েড অ্যাসিঙ্কটাস্ক এপিআই-কে হ্রাস করছে এবং তার java.util.concurrentপরিবর্তে ব্যবহারের পরামর্শ দিচ্ছে । আপনি এখানে প্রতিশ্রুতি পরীক্ষা করতে পারেন
*
* @deprecated Use the standard <code>java.util.concurrent</code> or
* <a href="https://developer.android.com/topic/libraries/architecture/coroutines">
* Kotlin concurrency utilities</a> instead.
*/
@Deprecated
public abstract class AsyncTask<Params, Progress, Result> {
যদি আপনি অ্যান্ড্রয়েডে অ্যাসিঙ্ক্রোনাস টাস্ক সহ কোনও পুরানো কোডবেস বজায় রাখছেন তবে ভবিষ্যতে আপনাকে সম্ভবত এটি পরিবর্তন করতে হবে। আমার প্রশ্নটি হ'ল নীচে ব্যবহার করে দেখানো কোড স্নিপেটের যথাযথ প্রতিস্থাপন কী হওয়া উচিত java.util.concurrent। এটি একটি ক্রিয়াকলাপের একটি স্থিতিশীল অভ্যন্তর শ্রেণি। আমি এমন কিছু খুঁজছি যা নিয়ে কাজ করবেminSdkVersion 16
private static class LongRunningTask extends AsyncTask<String, Void, MyPojo> {
private static final String TAG = MyActivity.LongRunningTask.class.getSimpleName();
private WeakReference<MyActivity> 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) ;
}
}
AsyncTaskপিছনের সামঞ্জস্যতা না ভেঙে সরানো যায় না।