在android中不能在ui线程中不能进行过于耗时的操作,不然会出现“强制关闭,等待”的提示信息。在android中有两种处理方式:
1.Thread与Handler结合:
2.AsyncTask:
private class TaskDemo extends AsyncTask<String,Void,Boolean>{
@Override
protected void onPostExecute(Boolean result) {
// TODO Auto-generated method stub
执行完耗时的工作之后,要进行的一些ui操作
super.onPostExecute(result);
}
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
}
@Override
protected Boolean doInBackground(String... params) {
// TODO Auto-generated method stub
执行一些比较耗时的工作
UserUtil.getInstance().loginSmsAccount(params[0], params[1]);
return rslt;
}
}
通过以下方式启动一个异步任务:
new TaskDemo ().execute(smsaccount[0],smsaccount[1]);
execute()方法传入的参数与doInBackground()是相对应的