Pracuję nad aplikacją, która używa dużo AsyncTasks. Kiedy zacząłem uczestniczyć w kodowaniu tej aplikacji, parametr targetSdkVersion został ustawiony na 10, więc nie mieliśmy problemów z AsyncTasks, ponieważ wszystkie zostały wykonane na równoległych wątkach w tle. Ponieważ ustawiliśmy wartość targtSdkVersion na 17, mamy pewne problemy z zadaniami, ponieważ są one teraz wykonywane na pojedynczym wątku tła. Aby rozwiązać ten problem, znalazłem następujący kod do używania specjalnie równoległych zadań:Android AsyncTask jako argument metody
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
myTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
} else {
myTask.execute();
}
Teraz, ponieważ mamy kilka zadań wymagających te linie kodu, chciałbym napisać metodę w naszej własnej klasy Utils który wykonuje zadania w ten sposób ... ale nie mogę tego osiągnąć, ponieważ nie mogę przekazać różnych zadań do metody jako argumentu z powodu "Paramu | Postęp | Wynik "rzeczy różnią się od jednego zadania do drugiego. Czy istnieje sposób na osiągnięcie naszego celu? Jakieś pomysły?
you metoda może brać AsyncTask ,?,?> jako param, myślę – njzk2
już próbował, ale nie działa ... zawsze jestem coraz : java.lang.ClassCastException: java.lang.Object [] nie można przesłać do java.lang.Void [] –