【发布时间】:2016-04-06 15:57:13
【问题描述】:
假设我想在一个异步任务中休眠线程。
代码:
protected Weather doInBackground(Void... params) {
try {
Thread.sleep(10000);
} catch (Exception ex) {
}
}
这会导致应用程序中的其他异步任务暂停。为什么? 我的意图不是暂停线程,而是网络调用需要一些时间,这会暂停应用程序中的所有异步任务。
如何解决这个问题?
这就是我调用异步任务的方式
WeatherAsync weatherAsync = new WeatherAsync(Pref.getString(getApplicationContext(), Pref.local.WEATHER_CITY), null, null,
new WeatherAsync.WeatherAsyncCallback() {
@Override
public void onCancelled() {
}
@Override
public void onPreExecute() {
}
@Override
public void onPostExecute(Weather result) {
if (result == null) {
return;
}
Log.d("Temp", "" + result.getTemp());
//adapter.addWeather(new NavigationDrawerItem(result, NavigationDrawerItem.WEATHER_VIEW));
}
});
weatherAsync.execute();
【问题讨论】:
标签: android multithreading asynchronous