Я пытаюсь создать собственное меню для своего приложения. Для этого мне нужно загрузить значок и название каждого приложения, которое можно выбрать. Я загружаю эту информацию с помощью асинхронных задач.
Но я посмотрел, как все это происходит при выполнении 5 приложений:
Executing Task 1
Task 1 Starts
Executing Task 2
Executing Task 3
Executing Task 4
Task 1 Ends
Task 2 Starts
Executing task 5
Task 2 Ends
Task 3 Starts
Task 3 Ends
Task 4 Starts
Task 4 Ends
Task 5 Starts
Task 5 Ends
Это соответствующий код асинхронной задачи:
@Override
protected Void doInBackground(ResolveInfo... params) {
textToSet = String.valueOf(ttime) + params[0].loadLabel(context.getPackageManager());
imageToSet = params[0].loadIcon(context.getPackageManager());
return null;
}
Асинктазам на самом деле не нужен результат того, что прежде, чем работать, верно? Таким образом, должен быть способ запустить их все параллельно, чтобы загружать мои вещи быстрее? Или loadIcon может происходить только один раз за раз?
В любом случае, если есть способ распараллелить это, как бы я это сделал? Поможет ли RxJava?