什么是做多线程的更好方法

时间:2011-04-22 04:53:50

标签: android

我有一个应用程序,其中我有一个UI活动,它应该显示在另一个类中完成xml解析后检索的数据。 在xml解析期间我正在做的是显示progressdialog。我将我的ui活动的处理程序传递给执行xml解析的线程,并且在完成解析时,xmlparser therad使用我已经传递的处理程序调度一条消息,该消息由UI活动接收,之后它开始显示数据。

以上是我如何进行多线程处理。

还有更好的方法吗? 提前谢谢你。

编辑:我听说过以下异步任务,executionarservice,意向服务。 哪个是最适合我的目的?

2 个答案:

答案 0 :(得分:4)

如果你在android中进行多线程处理,那么

AsyncTask是你最好的朋友。

不是将runnables传递给UI THread,而是需要实现一个AsyncTask类,它们在里面让它解析doInBackground()中的xml。

对于进度对话框,启动对话框并在onPreExecute()时显示它,并使用onPostExecute()将其关闭。如果你想要一个precentage栏,你可以在onProgressUpdate()

中实现它

答案 1 :(得分:0)

当然,这项任务有几种技巧 您可以使用ServicesAsyncTasksHandlers,...

来实现多线程

为了根据您的问题做出正确的决定,我建议您查看Android开发者的Romain Guy's Painless Threading帖子。这是一篇非常方便的文章,也非常精确,永远不会变老。