美文网首页
Handler相关

Handler相关

作者: 魔焰joy | 来源:发表于2017-07-13 18:14 被阅读0次

原理:

Handler 、 Looper 、Message 这三个是Android异步消息处理线程相关的概念。异步消息处理线程启动后会进入一个无限的循环体之中,每次循环,从其内部的消息队列中取出一个消息,然后回调相应的消息处理函数,执行完成一个消息后则继续循环。若消息队列为空,线程则会阻塞等待。

Looper创建一个MessageQueue,然后进入一个无限循环体不断从该MessageQueue中读取消息,而消息的创建者就是一个或多个Handler 。

使用:

private Handler mHandler = newHandler()

{

          public void handleMessage(android.os.Message msg)

          {

                        switch(msg.what)

                {

                     case value:

                     break;

                     default:

                     break;

                }

          };

};

mHandler.sendMessage();

2,

private Handler mHandler =new Handler();

mHandler.post(newRunnable()

{

   @Override

   public void run()

   {

      Log.e("TAG", Thread.currentThread().getName());

       mtv.setText("test");

   }

});

注意:

1, 避免内存泄漏

a) 内部类隐式包含外部类的引用

解决方法:

1,改为静态内部类。

2,或者手动管理线程及时结束以释放对象

b) 结果执行体中包含有View类,View会持有外部Context。

解决方法:

使用弱连接

2, Handler事实上提供了一个异步线程处理但方案,可以放在其他地方使用

参考:

https://my.oschina.net/rengwuxian/blog/181449

http://blog.csdn.net/feelang/article/details/39059705

相关文章

  • Handler相关

    Handler handler通过发送和处理Message和Runnable对像来关联相应线程的MessageQu...

  • Handler相关

    原理: Handler 、 Looper 、Message 这三个是Android异步消息处理线程相关的概念。异步...

  • Handler 相关

    当Android应用程序启动时,会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件进行事件分发...

  • Handler相关

    1.一个线程中可以有几个Handler2.一个线程中有几个Looper?如何保证?3.Handler内存泄露的原因...

  • android的消息机制

    handler学习思路 handler是是什么,做什么用,相关知识了解?handler主线程代码示例handler...

  • Handler的那些事

    Handler的那些事 相关的类:Handler、Looper、Message、MessageQueue、Asyn...

  • Handler探究

    Handler相关概念 什么Handler Handler允许您发送和处理与线程的MessageQueue关联的M...

  • 【干货】2021最新Android高级开发面试宝典1296页PD

    一、Handler相关知识 1、Handler Looper Message关系是什么?2、Messagequeu...

  • Android Handler 机制

    相关类 Handler Message Looper MessageQueue

  • Android面试集

    Handler相关 涉及到的主要的类:Handler、Looper、MessageQueue、Message Ha...

网友评论

      本文标题:Handler相关

      本文链接:https://www.haomeiwen.com/subject/uthghxtx.html