我目前正在开发一个Android项目,该项目会在onCreate上加载大量图片。为了确保UI不被阻止,我可以选择将它放在runnable或AsyncTask中。什么是(表现明智)更好的选择还是实际上是相同的?
答案 0 :(得分:3)
是的,它或多或少相同。AsyncTask
只不过是Runnable/Thread
的便利类。
在我看来,你应该使用AsyncTask
。它是一种机器人标准,它可以让你远离任务来检查工作何时完成。您可以轻松地在onPostExecute
中进行回调,或者对结果执行任何操作。 (记住只有doInBackGround
在自己的线程中运行 - 其他方法在UI线程中运行,所以你甚至可以在那里添加对话框等等。
答案 1 :(得分:2)
如果您将Runnable
附加到新的Thread
上,那么实际上两者都会在引擎盖下做同样的事情。但是,更容易遵循AsyncTask
生命周期及其在android中执行并行操作的推荐方法。因此,我的建议是使用AsyncTask
。