Android Dev Summit, October 23-24: two days of technical content, directly from the Android team. Sign-up for livestream updates.

MessageCompat

class MessageCompat
kotlin.Any
   ↳ androidx.core.os.MessageCompat

Helper for accessing features in Message.

Summary

Public methods

static Boolean
isAsynchronous(@NonNull message: Message)

Returns true if the message is asynchronous, meaning that it is not subject to Looper synchronization barriers.

static Unit
setAsynchronous(@NonNull message: Message, async: Boolean)

Sets whether the message is asynchronous, meaning that it is not subject to Looper synchronization barriers.

Public methods

isAsynchronous

static fun isAsynchronous(@NonNull message: Message): Boolean

Returns true if the message is asynchronous, meaning that it is not subject to Looper synchronization barriers.

Return
Boolean: True if the message is asynchronous. Always false prior to API 16.

setAsynchronous

static fun setAsynchronous(@NonNull message: Message, async: Boolean): Unit

Sets whether the message is asynchronous, meaning that it is not subject to Looper synchronization barriers.

Certain operations, such as view invalidation, may introduce synchronization barriers into the Looper's message queue to prevent subsequent messages from being delivered until some condition is met. In the case of view invalidation, messages which are posted after a call to android.view.View#invalidate are suspended by means of a synchronization barrier until the next frame is ready to be drawn. The synchronization barrier ensures that the invalidation request is completely handled before resuming.

Asynchronous messages are exempt from synchronization barriers. They typically represent interrupts, input events, and other signals that must be handled independently even while other work has been suspended.

Note that asynchronous messages may be delivered out of order with respect to synchronous messages although they are always delivered in order among themselves. If the relative order of these messages matters then they probably should not be asynchronous in the first place. Use with caution.

This API has no effect prior to API 16.

Parameters
async Message: True if the message is asynchronous.