开发者社区 问答 正文

关于Android中Handler和Looper机制的两个问题

学习了一段时间的Handler 和 Looper。 一般Android主线程会自定创建一个Looper 。 但是看到好多人都会在非主线程也调用Looper.prepare() ... Looper.loop() ;

  1. 如果是想要在非主线程中处理消息,为啥不可以在主线程中创建的Handler在非主线程中发送消息给主线程处理呢。
  2. 看到好多人在非主线程中Looper.prepare() .... Loop.loop() 之间运行自己的代码,并没有消息处理的Handler。 不知道这是为了达到什么目的。

展开
收起
爵霸 2016-06-13 09:50:14 2271 分享 版权
1 条回答
写回答
取消 提交回答
  • 1,可以哈。直接调用Looper.prepareMainLooper();.......Looper.loop();

    2,这样可以在子线程里创建消息队列。就可以用Toast,或者修改UI等。好处不少哦。不一定需要handle。

    2019-07-17 19:35:06
    赞同 展开评论