Android Handler是用于处理线程间通信的一个类。它主要使用以下方法:
-
Handler(Looper looper)
:构造函数,用于创建一个Handler实例并关联一个Looper。Looper是线程内的一个消息队列,Handler会使用这个队列来发送和处理消息。 -
handleMessage(Message msg)
:此方法用于处理从队列中获取到的消息。当其他线程调用sendMessage()
方法发送消息时,此方法会在关联的Looper的线程中被调用。 -
sendMessage(Message msg)
:此方法用于向关联的Looper的消息队列发送一个消息。调用此方法的线程可以是主线程或其他线程。消息会被添加到队列中,然后由关联的Looper中的Handler进行处理。 -
sendMessageAtTime(Message msg, long uptimeMillis)
:此方法与sendMessage()
类似,但它允许你指定消息发送的时间(以毫秒为单位)。消息会被添加到队列中,但在指定的时间之前不会被处理。 -
sendMessageDelayed(Message msg, long delayMillis)
:此方法与sendMessage()
类似,但它允许你指定消息发送的延迟时间(以毫秒为单位)。消息会被添加到队列中,但在指定的延迟时间之后才会被处理。 -
removeMessages(int what)
:此方法用于移除与指定标识符(what
)匹配的所有消息。 -
removeCallbacks(Runnable callback)
:此方法用于移除之前添加的一个或多个回调。 -
post(Runnable r)
:此方法用于在当前线程的Handler中执行一个Runnable对象。这对于在主线程中执行耗时操作(如网络请求)非常有用,因为它可以避免阻塞主线程。 -
postDelayed(Runnable r, long delayMillis)
:此方法与post()
类似,但它允许你指定回调执行的延迟时间(以毫秒为单位)。 -
postAtTime(Runnable r, long uptimeMillis)
:此方法与post()
类似,但它允许你指定回调执行的时间(以毫秒为单位)。