线程对提高用户体验起到至关重要的作用,handler中post提交的线程跟activity是同一个线程,起不到线程的作用,因此我们需要调用一个新的线程来启动handler,不要跟主进程一样
工具/原料
eclipse
方法/步骤
1
先看下测试程序源码,主要目的是使用一个新线程来启动handler,并给handler传递Bundle类型参数
2
该代码目的是创建一个线程,并启动下面调用handlerThread.getLooper()的时候必须先start
3
定义内部类UpdateHandler,并继承了handler类,需要特别注意需要定义带有Looper参数的结构体,在使用该自定义内部类的时候,需要将先前创建的线程传递进去
4
向message中传递参数通过msg.sendToTarget();执行handler的消息响应函数public void handleMessage(Message msg)此处也可以通过updateHandler.sendMessage(msg);调用消息响应函数
5
读取message中的参数
6
执行结果,可以看到调用handler的线程和主线程不一样
上一篇:java如何创建多线程