Здравствуйте, я получаю и отображаю изображения из указанной папки c в recyclerview, он работает нормально, но когда изображений становится больше, например, выше 50+, загрузка занимает так много времени, а затем появляется черный экран для некоторое время, а затем изображения отображались, мой вопрос: почему черный экран появляется какое-то время?
вот мой код
private RecyclerView recyclerView;
private RestoredPhotosAdapter recoveredVideosAdapter;
private ProgressBar progressBar;
private ArrayList<File> fileList = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_restored_images);
progressBar = findViewById(R.id.progressBar);
recyclerView = findViewById(R.id.recyclerViewAllCreatedVideos);
recoveredVideosAdapter = new RestoredPhotosAdapter(fileList, getApplicationContext());
GridLayoutManager gridLayoutManager = new GridLayoutManager(getApplicationContext(), 2, LinearLayoutManager.VERTICAL, false);
recyclerView.setLayoutManager(gridLayoutManager);
recyclerView.setAdapter(recoveredVideosAdapter);
new MyTask().execute();
}
public class MyTask extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
progressBar.setVisibility(View.VISIBLE);
}
@Override
protected Void doInBackground(Void... voids) {
String direc = AppConsts.PHOTOS_DIRECTORY;
File directory = new File(direc);
File[] files = directory.listFiles();
for (File file : files) {
if (file.isDirectory()) {
fileList.add(file);
} else {
boolean isPermission = false;
for (int j = 0; j < fileList.size(); j++) {
if (fileList.get(j).getName().equals(file.getName())) {
isPermission = true;
} else {
}
}
if (isPermission) {
isPermission = false;
} else {
fileList.add(file);
}
}
}
return null;
}
@Override
protected void onProgressUpdate(Void... values) {
}
@Override
protected void onPostExecute(Void aVoid) {
progressBar.setVisibility(View.GONE);
}
}