我创建了一个执行api调用的AsyncTask。 我正在Activity的OnResume方法中使用for循环创建多个AsyncTask。
for(int i=0; i<createPostPojoArrayList.size(); i++) { CreatePostPojo createPostPojo = createPostPojoArrayList.get(i); DownloadTask downloadTask = new DownloadTask( i, post_recyclerview,createPostPojo, GlobalVariables.mActivity ); downloadTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,input); }
有时候api AsycnTask已经在运行,并且当我在OnResume方法上启动asyncTask时,它执行了两次
答案 0 :(得分:0)
执行此操作的传统方法是装载程序。更现代的解决方案是LiveData和ViewModels的组合。 https://medium.com/androiddevelopers/lifecycle-aware-data-loading-with-android-architecture-components-f95484159de4为后者提供了不错的实现。