Я хочу загружать некоторые ресурсы параллельно, чтобы они быстрее загружались в обоях.Поэтому я решил использовать AsyncTask в службе обоев Android.Ниже приведен код, который я использовал.Я был шокирован, узнав, что AsyncTask вызывается синхронно, а также что onPostExecute никогда не выполняется.Какова причина?Есть ли альтернатива?
@Override
public Engine onCreateEngine() {
Log.d("PER", "onCreateEngine");
new DownloadWebPageTask().doInBackground("test");
for (int i = 0; i < 30; i++) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.d("ASYNC", "DownloadWebPageTask aftersleep outside thread");
}
return new CubeEngine();
}
private class DownloadWebPageTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... urls) {
String response = "";
Log.d("ASYNC", "DownloadWebPageTask start");
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.d("ASYNC", "DownloadWebPageTask aftersleep inside thread");
return response;
}
@Override
protected void onPostExecute(String result) {
Log.d("ASYNC", "DownloadWebPageTask end");
}
}