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);