在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()是相对应的
本文介绍了在Android开发中如何避免UI线程处理耗时任务导致应用卡顿的问题。提出了使用Thread与Handler组合及AsyncTask两种解决方案,并给出了具体的AsyncTask实现示例。
243

被折叠的 条评论
为什么被折叠?



