Thread与Handler总结

来源:互联网 发布:网络直播十大灵异事件 编辑:程序博客网 时间:2024/04/25 16:57

Handler详细分析:

http://blog.csdn.net/feiduclear_up/article/details/46817283

HandlerThread:

  HandlerThread继承于Thread,它和普通的Thread的不同在于其run方法执行之后会创建一个消息队列Looper,并对外提供获取接口!

好处:

    HandlerThread自带Looper使得他可以重复使用当前线程,节省开支,当不使用时就可以删除,保障线程不会重复创建

如果是使用普通Thread的话(new Thread().start()这种方式会导致程序变慢),系统默认的Handler是使用UI主线程的Looper的

所以需要使用HandlerThread里面的looper才不会堵塞主线程,

class MyHandlerThread extends HandlerThread implements Callback {
        public MyHandlerThread(String name) {
            super(name);
        }
        @Override
        public boolean handleMessage(Message msg) {
        }
    }

    MyHandlerThread  myHandler = new MyHandlerThread("lsk");
    myHandler.setPriority(Thread.MIN_PRIORITY);

   //要先start才能获取looper
    myHandler.start();
    Handler handler = new Handler(myHandler.getLooper(), myHandler);



0 0
原创粉丝点击