性能方面,更好的是:AsyncTask还是简单地创建一个runnable?

时间:2013-05-24 08:39:31

标签: android multithreading android-asynctask runnable

我目前正在开发一个Android项目,该项目会在onCreate上加载大量图片。为了确保UI不被阻止,我可以选择将它放在runnable或AsyncTask中。什么是(表现明智)更好的选择还是实际上是相同的?

2 个答案:

答案 0 :(得分:3)

是的,它或多或少相同。AsyncTask只不过是Runnable/Thread的便利类。

在我看来,你应该使用AsyncTask。它是一种机器人标准,它可以让你远离任务来检查工作何时完成。您可以轻松地在onPostExecute中进行回调,或者对结果执行任何操作。 (记住只有doInBackGround在自己的线程中运行 - 其他方法在UI线程中运行,所以你甚至可以在那里添加对话框等等。

答案 1 :(得分:2)

如果您将Runnable附加到新的Thread上,那么实际上两者都会在引擎盖下做同样的事情。但是,更容易遵循AsyncTask生命周期及其在android中执行并行操作的推荐方法。因此,我的建议是使用AsyncTask