0
点赞
收藏
分享

微信扫一扫

Handler源码翻译

Gaaidou 2022-01-31 阅读 50
顶部翻译:
/**
 * 一个 Handler 允许你send和处理 Message 和 Runnable与线程的 MessageQueue 关联的对象。
 * 每个处理程序实例与单个线程和该线程的消息相关联队列。
 * 当您创建一个新的Handler时,它会绑定到一个 Looper上。
 * 它将消息和可执行任务传递给 Looper 的消息队列并在 Looper 的线程上并执行它们。
 *
 * Handler 有两个主要用途:
 * (1)安排消息和可执行任务在未来的某个时间点执行;
 *  (2) post和send消息要在不同的线程上执行。
 *
 * 发送消息是通过
 * post, postAtTime(Runnable, long), postDelayed,sendEmptyMessage,
 * sendMessage、sendMessageAtTime 和 sendMessageDelayed 这些方法。
 *
 * Handler允许你将 Runnable 对象放入队列;
 * Handler允许你放入一个 Message 对象,其中包含一组数据,
 * 这些数据将被 handleMessage 这个方法接收。
 *
 * 当 send 或 post 到 Handler 时,你可以在消息队列上马上接受处理,也可以延迟处理
 * sendMessageAtTime 和 sendMessageDelayed 方法可以实现定时、延迟等基于时间的功能
 *
 * 当一个进程是为app创建的,它的主线程专门用于运行一个消息队列,
 * 该消息队列负责管理顶级应用程序对象(活动、广播接收器等)和它们创建的任何Windows
 *
 * 你可以创建一个子线程,通过 Handler 与主线程通信。
 * Handler通信:通过子线程的 post 或 sendMessage 方法将计划的
 * Runnable 或 Message 放到 Handler 的消息队列中,按优先级队列进行处理。
 */
举报

相关推荐

0 条评论