除了上述的几种方法之外,1.5和更高版本的Android平台提供了一个实用类称为AsyncTask,简化了长时间运行的任务,需要与用户界面的交互。AsyncTask的目标是要为你的线程提供管理服务,示例代码如下:
private class DownloadFilesTask extends AsyncTask<Void, Void, Void> { @Override protected Void doInBackground(Void… params) { //耗时操作, try { Thread.sleep(4*1000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } @Override protected void onPostExecute(Void result) { //作UI线程的修改。 progressDialog.dismiss(); super.onPostExecute(result); } }
以下是AsyncTask的简要使用方法: