1.在android中,我们常和两种线程交互,分别为UI线程(又叫主线程),还有一种是子线程(Thread,Runnable)

2.主线程:UI线程

2.1从名字看下,UI线程,顾名思义就是和UI交互的线程。UI线程一般处理低耗时的UI操作(5秒以内的耗时),

常见的有:UI的更新,Toast的弹起。popwin以及dialog的,以及view的操作。

子线程:目前比较常见的就是网络的请求,必须在子线程操作。还有其他的耗时操作

3.如何判断当前线程执行在主线程还是子线程:

booean isMainThread=Looper.myLooper()==Looper.getMainLooper();

如果当前是子线程,必须执行主线程的操作。可以通过

Looper.prepare();

主线程操作

Toast.make(context,"",int).show();

Looper.loop();

还有在子线程通过handler来操作主线程的更新。

子线程执行主线程也可以通过

HandlerThread thred=new HandlerThread("threadName");
thread.start();
Handler handler=new Handler(hread.loop()){
handderMsg(Message msg){
 
}
};
 
hander.sendgEmptyMessage(int what);