Android - Thread和AsyncTask之间的区别?

Tra*_*ang 5 java android android-asynctask android-handler java-threads

在我的应用程序中我有按钮,单击时将查询数据库并在屏幕上显示结果.查询操作通常需要1~3秒.这些按钮将经常被点击.

我已经在AsyncTask和Thread上实现了这个动作,但看起来差别很小.

但是从长远来看,尤其是在按钮被多次点击时,这在资源(CPU,内存)方面会更有益吗?

Y.S*_*Y.S 6

当你使用a时Thread,你必须使用该runOnUiThread()方法更新主线程上的结果,而a AsyncTask具有onPostExecute()doInBackground()返回后在主线程上自动执行的方法.

虽然这两者在"哪个更有益"方面没有显着差异,但我认为AsyncTask抽象是为了让程序员不必同步UI和工作线程而设计的.使用a时Thread,它可能并不总是像调用一样简单runOnUiThread(); 它可以非常快速地变得非常棘手.所以,如果我是你,我会坚持使用AsyncTask并保持Thread更专业的情况.