处理程序与线程

时间:2010-06-23 13:49:23

标签: android handler

我想知道,一劳永逸。我在很多地方读过。当我想做一些“长时间操作”时,我应该使用Handler

但我不明白为什么?所有我的'长时间操作'我用常规线程包围,它工作正常。

为什么我会使用Handler

我必须使用Handler时,我必须安排一些任务(postDelayed

我怀念handlers(当我真的应该使用它时)有什么主要想法吗?或者可能没有什么区别?

2 个答案:

答案 0 :(得分:16)

使用Handler可以与后台线程中的UI线程进行通信。这是因为在后台线程中禁止UI操作。请注意,从版本1.5开始,AsyncTask类使这样做更容易。

答案 1 :(得分:1)

它不仅仅是让你回到UI线程,因为runOnUiThread(Runnable)做得非常好。我怀疑这更多的是让Android更容易管理线程和其他资源,这些资源不应该存在于Activity的上下文之外,并且“Activity已经泄露......”例外情况会告诉您何时发生这种情况。