微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android-使用处理程序?

如何解决Android-使用处理程序?

| 在同一活动中使用多个处理程序是否有任何问题。 我注意到,在android官方网站上提供的所有示例中,它们都使用单个处理程序并根据\“ what \”的值检测不同的操作,这是由于内存管理以及处理程序使用的大量内存吗?还是应该将其称为“错误代码”并以一种简洁的方式进行处理(每个负责特定任务的多个处理程序)
Handler handler = new Handler()
{
    @Override
    public void handleMessage(Message msg) {
      if (msg.what == 0){
         // do something
      }
      else if (msg.what == 1){
         // do something else
      }
    }
}
要么
Handler taskHandlerA = new Handler()
{
    @Override
    public void handleMessage(Message msg) {
         // do something
    }
}

Handler taskHandlerB = new Handler()
{
    @Override
    public void handleMessage(Message msg) {
         // do something else
    }
}
    

解决方法

        没有这样的限制(一个Handler只是一个消息接收者),但是如果您想做这样的事情,更常见的方法是将一个Runnable对象发布到一个Handler。     ,        这是关于Loopers和Handlers的一些不错的阅读。 创建
Handler
时,会自动向其
Thread
Looper
注册。这使我认为单个线程不需要多个
Handler
Activity
,特别是使用多个
Thread
的那个,可以使用多个
Handler
。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。