-
学习了查看全部
-
handler更新UI的四种方法查看全部
-
Handler分发消息的一些方法查看全部
-
四种更新ui的方法查看全部
-
handler 与 looper 与 messageQueue的关系查看全部
-
handle负责发送和处理消息,looper负责接受消息,并把消息队列中的消息发给对应的handle MessageQueue就是一个存储消息的容器查看全部
-
ViewRootImp是在onResume方法中初始化的,在onCreate方法中创建线程并执行,此时还没有初始化ViewRootImp,所以没法判断更新UI的线程是不是主线程;ViewRootImp中包含线程的判断查看全部
-
这一节主要要讲的是什么东西,就是为了说明handlemessage 主要是在主线程中执行吗查看全部
-
Handler--->MessageQueue---->Looper查看全部
-
class MyThread extends Thread{ public Handler handler; @Override public void run() { // Looper.prepare(); handler = new Handler(){ @Override public void handleMessage(Message msg) { System.out.println("UI----->"+Thread.currentThread()); } }; // Looper.loop(); } PS:也就是说当开启一个线程的时候在里面使用handler机制传递信息更新UI的时候必须创建looper对象即:Looper.prepare(),然后调用Looper.loop()使其循环处理消息。这样才不会报:can not create handler inside thread that has not called looper.prepare(),这样的错误。查看全部
-
第四种更新UI的方式:查看全部
-
在updateUI方法中使用runOnUIThread方法更新UI的方式:查看全部
-
复用系统的message查看全部
-
message.obj = person查看全部
-
第一种更新UI的方式:先起一个线程实现run方法然后在run方法中使用handler的post方法在post方法中new一个runnable在runnable中重写run方法,在run方法中更新UI、查看全部
举报
0/150
提交
取消