目前,我在AsycTask中执行一项繁重的任务,上传图像。当我通过AsycTask执行此操作时,应用程序将关闭,并且logcat中不会显示任何错误消息。
private class SendIncidentTask extends AsyncTask<Double, Void, Void>{
@Override
protected Void doInBackground(Double... params) {
lat1 = params[0];
log1 = params[1];
SendingIncident sincident = new SendingIncident();
sincident.sendInciWithoutAttachment(lat1, log1);
sincident.submitWithAttachment(lat1, log1);
return null;
}
}
我认为当UI线程和AsycTask并行执行时会出现问题。如何让UI线程等到AsycTask完成?
提前致谢。
答案 0 :(得分:5)
使用onPostExecute方法加载UI。这在doInBackground完成后自动调用
答案 1 :(得分:2)
我认为你错过了真正的问题,做你想做的事会导致ANR。但是,如果您希望UI线程等待,只需将其作为活动的方法执行,而不是作为AsyncTask执行。